2014-01-27 7 views
-1

В блоге на одной странице есть простой способ выбора сообщений, начиная с определенного сообщения с помощью mysql.Выбор строк из таблицы, начиная с определенной строки

Я не предлагаю использовать LIMIT 40,20 (редактирование: в случае ORDER BY modified_date DESC), потому что он будет возвращать сообщения, начиная с 40 и создания сообщения до того, как пользователь запрашивает следующую страницу заставит его увидеть тот же пост дважды. также удаление сообщения заставит его пропустить сообщение.

, поэтому я хотел бы, чтобы страница запрашивала идентификатор следующего сообщения, который должен появиться, и сервер отвечает несколькими сообщениями после него.

Могу ли я найти инструкцию mysql, которая выбирает сообщения, начинающиеся с формы id = X?

это должно быть так или любой другой вещью, которая делает работу

SELECT * FROM posts ORDER BY modified DESC LIMIT 20 [STARTING_FROM id=40] 
+1

Обратите внимание, что LIMIT без ORDER BY в значительной степени бессмыслен. – Strawberry

+0

@ Strawberry, спасибо, я отредактирую вопрос – MIE

ответ

1
SELECT * FROM posts WHERE STARTING_FROM_id >= 40 LIMIT 20; 
+0

upvoted yours;) –

2

вы можете использовать его в где условие. Например,

SELECT * FROM posts where id >= 40 ORDER BY modified LIMIT 20 
+0

Это очень умный ответ, в случае (идентификатор автоматически увеличивается и получает сообщения упорядочиваются по id или любой вещи с тем же порядком, что и созданное время) , Можете ли вы дать более общее решение, посмотрите обновленный вопрос. – MIE

+0

Я старался понять вас, но я не мог, так или иначе, я отредактировал свой ответ, и если вы хотите фильтровать больше данных, вы можете просто добавить предложение AND и после 'WHERE' как' AND created_date

Смежные вопросы