有没有类似 ORDER BY 的子句? [关闭]

Posted

技术标签:

【中文标题】有没有类似 ORDER BY 的子句? [关闭]【英文标题】:Is there any similar clause to ORDER BY? [closed] 【发布时间】:2013-03-21 16:08:24 【问题描述】:

在某些查询中,例如 UNION,ORDER BY 子句似乎不起作用,那么在这种情况下该怎么办?有没有类似 ORDER BY 的子句?

就像有一个与“LIMIT x”类似的子句是“SELECT TOP x”,其中 x 是数字。

【问题讨论】:

这个问题没有多大意义。 ORDER BY 如何在 UNION 查询中不起作用? 你能举一个实际和预期输出的例子吗? 请发表您的问题 【参考方案1】:

如果你想在一个联合中对单个选择进行排序,你需要括号和一个 LIMIT:

(SELECT a FROM b ORDER BY c LIMIT 10)
UNION
(SELECT d FROM e ORDER BY f LIMIT 10)

如果要对联合进行排序,请再次使用括号:

(SELECT a FROM b)
UNION
(SELECT d FROM e)
ORDER BY x

您也可以在manual 阅读此内容。

【讨论】:

【参考方案2】:

This post 回答您的问题。您不需要对 ORDER BY 使用不同的子句,只需对查询使用不同的结构即可。

【讨论】:

以上是关于有没有类似 ORDER BY 的子句? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

UNION ALL、UNION与ORDER BY

ORDER BY 子句在视图、内联函数、派生表、子查询和公用表表达式中无效

OVER 子句中的 SQL ORDER BY 与 CLR 聚合不兼容?

ORDER BY 子句在视图、内联函数、派生表、子查询和公用表表达式中无效,除非 TOP、OFFSET 或 FOR XML

有人可以推荐一个关于 MySQL 索引的好教程,特别是在连接期间在 order by 子句中使用时? [关闭]

sqlserver 创建视图失败,原因:ORDER BY 子句在视图、内联函数、派生表、子查询和公用表表达式中无效