gpt4 book ai didi

sql - 通过分组和检查非空将多行合并为一行

转载 作者:行者123 更新时间:2023-12-02 09:10:56 35 4
gpt4 key购买 nike

我有这种格式的数据。我想将多行合并为按 ID 列分组的一行。当按 ID 分组时,每一行将只有一个非空值和一个非空值。

   [ID], [foo], [foo1], [foo2], [foo3], [foo4], [foo5]
1, data1, null, null, null, null, null
1, null, data2, null, null, null, null
1, null, null, data3, null, null, null
1, null, null, null, data4, null, null
1, null, null, null, null, data5, null
1, null, null, null, null, null, data6
2, data1, null, null, null, null, null
2, null, data2, null, null, null, null
2, null, null, data3, null, null, null
2, null, null, null, data4, null, null
2, null, null, null, null, data5, null
2, null, null, null, null, null, data6

Desired Output:
[ID], [foo], [foo1], [foo2], [foo3], [foo4], [foo5]
1, data1, data2, data3, data4, data5, data6
2, data1, data2, data3, data4, data5, data6

最佳答案

聚合函数 maxmin(以及大多数其他函数)将忽略 null。您可以按 ID 分组并查询其他列的最大值,这将返回该列具有的单个非 null 值:

SELECT   id, MAX(foo), MAX(foo1), MAX(foo2), MAX(foo3), MAX(foo4), MAX(foo5)
FROM mytable
GROUP BY id

关于sql - 通过分组和检查非空将多行合并为一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52299825/

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