回答

收藏

如何在不排序的情况下执行?UNION?(SQL)

技术问答 技术问答 389 人阅读 | 0 人回复 | 2023-09-14

UNION添加两个结果并删除重复项UNION ALL重复项不会删除。* y9 t- P- ^8 e% P0 E
UNION还对最终输出进行排序。) m7 X6 Y5 O) \! K
我想要的是UNION ALL没有重复和排序。有可能吗?6 }3 m3 J2 l  H1 B! t
这样做的原因是,我希望第一个查询结果在最终结果的顶部,第二个查询结果在底部(每个查询的排序似乎都是单独运行的)。  v$ Z7 V3 F( v. v! T% a
                                                               
6 N1 @' W& E" F' V' M+ p    解决方案:                                                                1 G+ i4 P" L/ j7 t% O3 E( i
                                                                我注意到这个问题有很多见解,所以我会先解决你 没有    提出的问题!' o3 M$ I3 ^0 C' K4 q8 s& h: c
关于标题。带有    ‘istinct’的Sql Union All ,只需更换UNIONALL为即可UNION。这可以删除重复项。
* }5 ~# j/ u& [对于您的具体问题,给出的澄清是查询应该是优先级,因此重复项应该从底部删除,您可以使用它
" `" |% M% ~; t% s- [8 {1 qSELECT col       col二、       MIN(grp) AS source_groupFROM   (SELECT 1 AS grp,              col               col2          FROM   t        UNION ALL        SELECT 2 AS grp,              col               col2          FROM   t2) AS tGROUP  BY col          col2ORDER  BY MIN(grp),         col
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则