SQL: выберите N «самых последних» строк в порядке возрастания - PullRequest
10 голосов
/ 12 октября 2011

Например, если мои данные выглядят так:

timestamp | message
100 | hello
101 | world
102 | foo
103 | bar
104 | baz

Как выбрать три самые последние строки - 102, 103, 104 - в порядке возрастания?

Очевидное(мне) … LIMIT 3 ORDER BY timestamp DESC вернет правильные строки, но порядок неправильный.

1 Ответ

15 голосов
/ 12 октября 2011

Используйте внутренний выбор, чтобы выбрать правильные строки, и внешний выбор, чтобы упорядочить их правильно:

SELECT timestamp, message
FROM
(
     SELECT *
     FROM your_table
     ORDER BY timestamp DESC
     LIMIT 3 
) T1
ORDER BY timestamp
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...