gpt4 book ai didi

sql - 在 Postgres SQL 中,如果分组中的任何行为空,我如何使用分组依据并忽略?

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

我有这样的数据表

id group order value
-------------------------
1 1 1 23
2 1 2 34
3 2 1 234
4 2 2 77
5 2 3 102
6 3 1 78
7 3 2 NULL

我想插入到表中,因此每组一行,值显示一串以逗号分隔的值顺序(基于顺序)。 但我希望它忽略任何包含空值的组。

所以我想要的结果是这样的

id group value
----------------
1 1 23,34
2 2 234,77,102

但是用

SELECT
row_number() over () as id,
group,
string_agg(t1.value, ',' ORDER BY "ORDER"),
FROM t2
GROUP BY group

我现在有

id group value
----------------
1 1 23,34
2 2 234,77,102
3 3 78

最佳答案

只需使用having 子句:

SELECT row_number() over () as id, group,
string_agg(t1.value, ',' ORDER BY "ORDER"),
FROM t2
GROUP BY group
HAVING COUNT(*) = COUNT(t1.value);

关于sql - 在 Postgres SQL 中,如果分组中的任何行为空,我如何使用分组依据并忽略?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51333056/

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