2014-03-25 2 views
2

У меня есть оператор SQL, который получает все комментарии на фото, и упорядочен так первый комментарий в верхней части страницы:MySQL - выбрать две последние строки в запросе

SELECT * FROM comments WHERE post='$id' AND status='1' ORDER BY time 

Но я хотите создать предварительный просмотр, который отображает только 3 последних комментария.

SELECT * FROM comments WHERE post='$id' AND status='1' ORDER BY time DESC LIMIT 3 

НО Я хочу, чтобы эти 3 комментария быть в же порядке, что и оригинальные комментарии, поэтому самый ранний комментарий на самом верху. Вышеупомянутый запрос ставит самый ранний комментарий внизу с последним комментарием вверху. Как сохранить тот же порядок, только получив три последних комментария?

+4

http://stackoverflow.com/questions/12125904/select-last-n-rows-from-mysql –

ответ

3

Попробуйте этот запрос:

SELECT * FROM (
    SELECT * FROM comments WHERE post='$id' AND status='1' ORDER BY time DESC LIMIT 3 
) sub 
ORDER BY time ASC 

MySQL Subquery Syntax

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