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

Posted

技术标签:

【中文标题】应用限制后,我可以重新排序 SQL 选择吗?【英文标题】:Can I reorder SQL selections after the limit has been applied? 【发布时间】:2010-07-15 12:51:11 【问题描述】:

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

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

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

【问题讨论】:

【参考方案1】:

你说得差不多了:

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

在你需要的子选择之后注意无辜的xxx

【讨论】:

【参考方案2】:

试试:

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

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

【讨论】:

以上是关于应用限制后,我可以重新排序 SQL 选择吗?的主要内容,如果未能解决你的问题,请参考以下文章

iOS可以隐藏应用吗

使用 FolderBrowserDialog 限制对某些文件夹的访问

VBA 列限制中的 SQL 命令

从 Sql 迁移到 NoSql 数据库的限制

复杂的SQL查询,需要根据时间限制通过count排序

SQL Server 可以在不使用 cte 的情况下根据排名限制查询结果吗?