在SQL Server 2008中,我们可以使用Union/Unino All将两个结果放在一起,但我想为最终结果添加order by。怎么才能做到这一点?
我想要的是这样的:
select id1 as id, * from ...
Union All
select id2 as id, * from ...
order by id
请帮忙。谢谢。
最佳答案
正如评论中所指出的,您给出的伪代码应该可以工作,将 order by 应用到组合结果集。如果您尝试以两种结果集保持不同的方式进行排序,则需要引入人工排序列,例如:
select id1 as id, *, 1 as MySortKey from ...
Union All
select id2 as id, *, 2 as MySortKey from ...
order by MySortKey, id
关于sql-server - 如何为联合结果添加排序依据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4471247/