gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 07:48:35 24 4
gpt4 key购买 nike

UNION 连接两个结果并删除重复项,而 UNION ALL 不删除重复项。
UNION 还对最终输出进行排序。

我想要的是没有重复且没有排序的UNION ALL。这可能吗?

这样做的原因是我希望第一个查询的结果位于最终结果的顶部,第二个查询位于底部(并且每个查询都像单独运行一样排序)。

最佳答案

我注意到这个问题得到了很多浏览,因此我将首先解决一个您没有问过的问题!

关于标题。要实现“Sql Union All with“distinct””,只需将 UNION ALL 替换为 UNION 即可。这具有删除重复项的效果。

对于您的具体问题,考虑到“第一个查询应具有“优先级”,因此应从底部删除重复项”的说明,您可以使用

SELECT col1,
col2,
MIN(grp) AS source_group
FROM (SELECT 1 AS grp,
col1,
col2
FROM t1
UNION ALL
SELECT 2 AS grp,
col1,
col2
FROM t2) AS t
GROUP BY col1,
col2
ORDER BY MIN(grp),
col1

关于sql - 如何在不排序的情况下执行UNION? (SQL),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7552019/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com