UNION添加两个结果并删除重复项UNION ALL重复项不会删除。$ m, L) y. s5 N$ g5 M& b
UNION还对最终输出进行排序。 2 B9 R7 Z5 W. u) R5 U' S. s% ?, Q5 Z我想要的是UNION ALL没有重复和排序。有可能吗?; p- u p- l5 y0 p* t
这样做的原因是,我希望第一个查询结果在最终结果的顶部,第二个查询结果在底部(每个查询的排序似乎都是单独运行的)。 & E- F7 E: {" ~/ [6 U5 z8 L$ a |- z: i! g' O解决方案: 2 h1 g" b- d/ }% G0 ~
我注意到这个问题有很多见解,所以我会先解决你 没有 提出的问题!* h; F: D9 ]3 h1 I' A9 `
关于标题。带有 ‘istinct’的Sql Union All ,只需更换UNIONALL为即可UNION。这可以删除重复项。4 v n* z, r$ H
对于您的具体问题,给出的澄清是查询应该是优先级,因此重复项应该从底部删除,您可以使用它$ T* }* E7 Y0 M2 j, N1 c( f
SELECT 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