Можно ли изменить порядок выбора SQL после применения ограничения? - PullRequest
1 голос
/ 15 июля 2010

Я хотел бы видеть последние десять строк из нашей базы данных mysql в порядке идентификатора.Наивно, я бы ожидал, что смогу сделать что-то вроде этого:

SELECT * FROM ( SELECT * FROM things ORDER BY id DESC LIMIT 10) ORDER BY id ASC

, но это неверный синтаксис.Как правильно выразить запрос, который я пытаюсь выполнить?

Ответы [ 2 ]

4 голосов
/ 15 июля 2010

Вы поняли это почти правильно:

SELECT * 
FROM 
  ( SELECT * FROM things ORDER BY id DESC LIMIT 10) xxx
ORDER BY id ASC

Обратите внимание на невинных xxx после того, как вам нужно выбрать.

1 голос
/ 15 июля 2010

Попробуйте:

SELECT * FROM (SELECT * FROM things ORDER BY id DESC LIMIT 10) temp
ORDER BY id ASC

Вам нужно что-то подобное, потому что здесь предложение FROM выполняется еще до SELECT.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...