在应用限制后,我可以重新排序SQL选择吗?

时间:2010-07-15 12:51:11

标签: sql mysql subquery

我想按ID顺序查看mysql数据库中的最后十行。天真的,我希望能够做到这样的事情:

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

但这不是有效的语法。表达我正在尝试运行的查询的正确方法是什么?

2 个答案:

答案 0 :(得分:4)

你得到的几乎是正确的:

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

请注意您需要的子选择后的无辜xxx

答案 1 :(得分:1)

尝试:

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

你需要类似的东西,因为这里FROM子句甚至在SELECT之前执行。