gpt4 book ai didi

mysql - SQL:根据一定的条件选择记录,合并重复的记录

转载 作者:行者123 更新时间:2023-11-29 12:15:37 26 4
gpt4 key购买 nike

我需要一个 SQL 语句来派生唯一的行列表。

鉴于这组数据,我希望结果能够删除重复行,其中重复行定义为 Column1 相同且第 2 列和第 3 列为空

Things:

ID Column1 Column2 Column3
1 a z 4
2 b y 7
3 b m 9
4 a
5 a
6 a z 4

预期结果:

a, z, 4
b, y, 7
b, m, 9
a, ,
a, z, 4

请注意,a、z、4 在结果中出现了两次,这是正确的。仅当 Column1 相同并且 Column2 和 Column3 为空时,行才会合并。

我如何构造一个查询来获得这个结果?

最佳答案

当 ID 为非空时,使用唯一的(因此不可分组)id;当 ID 为空时,使用可分组的 null 应该可以。

select Column1, Column2, Column3
from Things
group by case when Column1 is null then null else ID end,
case when Column2 is null then null else ID end,
case when Column3 is null then null else ID end

关于mysql - SQL:根据一定的条件选择记录,合并重复的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29854741/

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