Задать вопрос
romash
@romash
web-разработчик

Как получить данные SQL запросом, начианя с конкретное строки?

Есть таблица со следующими полями
  • id — строка случайных символов, первичный ключ
  • date - дата с точностью до дня, неуникальна
  • ...


Из неё данные извлекаются порциями с сортировкой по дате:
SELECT * FROM `table` ORDER BY `date` DESC LIMIT 4
После обработки первого запроса сохраняется id последней полученной строки.
Вопрос: как при следующем запросе указать, что начать нужно со строки с конкретным id?

В голову приходит только запоминать количество извлечённых строк и после этого делать LIMIT $gotten, 4, но это сломается, если за время между запросами появятся новые записи с более поздней датой.
  • Вопрос задан
  • 696 просмотров
Подписаться 1 Оценить Комментировать
Ответ пользователя Arman К ответам на вопрос (4)
@Arik
Если нужно сохранить состояние, то или промежуточная/временная таблица или, если записей не так много, запросить id'шки Всех записей и потом спрашивать уже по id через IN(). Как вариант еще можно update'ом метки поставить всем записям и когда будет обход, то новые записи не будут иметь эту метку, а значит не будут учавствовать в выборке с лимитом, но это для одного клиента, если демоном надо обойти все записи.
Ответ написан
Комментировать