|
|
1
117
有时候你需要
在这种情况下
|
|
|
2
64
|
|
|
3
57
我认为这解释得很好。 以下是使用ORDER BY子句的联合查询:
由于两个“select”语句的列名称不同,因此按列在结果集中的位置引用ORDER BY子句中的列更为有利。
在这个例子中,我们已经按照
这个
|
|
|
4
28
使用一个具体的例子:
文件夹:
文件夹:
期望输出: (先选择结果,即先选择文件夹)
SQL以实现所需的结果:
|
|
|
5
17
下面是Northwind 2007的一个例子:
ORDERBY子句只需要在您完成所有的联合之后成为最后一条语句。您可以将多个集合合并在一起,然后在最后一个集合之后放置order by子句。 |
|
|
6
9
工作?记住思维定势。使用union获取所需的集合,然后对其执行操作。 |
|
|
7
5
|
|
8
4
(使用别名) |
|
|
9
4
这是我见过的最愚蠢的事情,但它起作用了,你不能和结果争论。
派生表的内部将不会单独执行,但作为派生表,它工作得非常好。我在SS 2000、SS 2005、SS 2008 R2和这三个版本上都试过。 |
|
|
10
2
就是这样做的
|
|
|
11
2
浏览这个评论部分,我遇到了两种不同的模式来回答这个问题。不幸的是,对于SQL 2012,第二种模式不起作用,所以这里是我的“解决方法” 按公用列排序
这是最容易遇到的情况。正如许多用户指出的,您真正需要做的就是添加
或
按不同列排序这就是它真正变得棘手的地方。使用SQL 2012,我尝试了Top Post,但它不起作用。
根据评论中的建议,我尝试了这个
这段代码确实编译了,但是
我能想到的唯一有效的解决方案是不使用联合,而是让查询单独运行,然后处理它们。所以基本上,不使用
|
|
|
12
1
通过单独使用ORDER,每个子集都得到了ORDER,但不是整个集合,这是您希望将两个表组合在一起的。 你应该用这样的东西 一 有序集:
|
|
|
13
0
第二个表不能在
所以…
不引发异常 |
|
|
14
0
如果需要保持内部排序:
|
|
|
15
0
试试这个。这对我很有用。 |
|
|
16
0
对于SQL Server 2014/2012/其他(未选中):
|
|
|
Palendrone · MySQL使用UNION在两列上排序 4 年前 |
|
|
Jean · 来自不同sql表的个性化php输出 8 年前 |
|
|
Ksdmg · 如何返回具有串联标识符的列 8 年前 |
|
|
Balthasar · 联合查询中按类型统计记录 8 年前 |
|
|
frank · 如何基于sas中的特定列合并2个表 8 年前 |
|
|
Sab · SQL无法绑定多部分标识符“”。并集+连接 8 年前 |