如何在DB 2中为联合查询进行排序

时间:2016-12-07 08:49:32

标签: sql db2

我有一个问题如何在DB2中订购任何人都有任何想法?。

从a中选择col1,col2 union选择col1,col2来自b

BEFORE
----Result----
col1    col2
a       abu
b       bala
d       daus
f       faiz
h       haikal
c       canon
e       elly
g       gous

AFTER
----Result----
col1    col2
a       abu
b       bala
c       canon
d       daus
e       elly
f       faiz
g       gous
h       haikal

3 个答案:

答案 0 :(得分:0)

Jarlh的评论是正确的......

select col1,col2 
from a 
union 
select col1,col2 from b
ORDER BY col1,col2

只允许使用一个ORDER BY,因为它适用于整个结果集。

答案 1 :(得分:0)

指定要简单排序的列名

select col1,col2 
from a 
union 
select col1,col2 from b
ORDER BY col1,col2

或指定排名列以订购

select col1,col2 
from a 
union 
select col1,col2 from b
ORDER BY 1, 2

注意:如果col1具有唯一值(例如,如果col1是键列,则应该使用union all而不是union)。 "联盟"然后删除双倍"联合所有"性能更好

select col1,col2 
from a 
union all
select col1,col2 from b
ORDER BY col1,col2

答案 2 :(得分:-1)

使用子查询可以执行此操作:

选择*来自( 选择col1,col2来自联合选择col1,col2来自b ) 表格1 按table1.col1排序