在应用限制后,我是否可以对SQL选择重新排序?
我想按ID顺序查看mysql数据库的最后十行。天真地说,我希望能够做这样的事情:在应用限制后,我是否可以对SQL选择重新排序?,sql,mysql,subquery,Sql,Mysql,Subquery,我想按ID顺序查看mysql数据库的最后十行。天真地说,我希望能够做这样的事情: SELECT * FROM ( SELECT * FROM things ORDER BY id DESC LIMIT 10) ORDER BY id ASC 但这不是有效的语法。我试图运行的查询的正确表达方式是什么?您的回答几乎正确: SELECT * FROM ( SELECT * FROM things ORDER BY id DESC LIMIT 10) xxx ORDER BY id ASC
SELECT * FROM ( SELECT * FROM things ORDER BY id DESC LIMIT 10) ORDER BY id ASC
但这不是有效的语法。我试图运行的查询的正确表达方式是什么?您的回答几乎正确:
SELECT *
FROM
( SELECT * FROM things ORDER BY id DESC LIMIT 10) xxx
ORDER BY id ASC
请注意您所需的子选择后的无辜的
xxx
。您几乎正确:
SELECT *
FROM
( SELECT * FROM things ORDER BY id DESC LIMIT 10) xxx
ORDER BY id ASC
注意您需要的子选择后的无辜的xxx
。尝试:
SELECT * FROM (SELECT * FROM things ORDER BY id DESC LIMIT 10) temp
ORDER BY id ASC
您需要这样做,因为here FROM子句甚至在SELECT之前执行。请尝试:
SELECT * FROM (SELECT * FROM things ORDER BY id DESC LIMIT 10) temp
ORDER BY id ASC
您需要类似的东西,因为这里的FROM子句甚至在SELECT之前执行