gpt4 book ai didi

SQL 分组查询。总计的

转载 作者:行者123 更新时间:2023-11-29 14:25:09 24 4
gpt4 key购买 nike

你能帮我分组查询吗?我有一个如下表

Country State      SomeType
UK England Yes
UK Wales No
UK Scotland MayBe
Germany Bavaria Yes
Germany Bremen Yes

我需要将每个国家/地区标记为是、否、可能或混合类型。

如果所有州都是 Yes 那么那个国家就是 Yes,All No 那么那个国家就是 No,如果所有州都是 MayBe 那么那个国家就是 MayBe但是如果不同的州有不同的 SomeType 那么它应该被标记为 Mixed

在上面的例子中我应该得到输出

Country Type
UK Mixed
Germany Yes

这只是一个虚构的例子,因为我不能在这里给出真正的要求。对不起,如果有人反对称威尔士为州而不是组成国。

最佳答案

demo:db<>fiddle

您可以使用 array_agg() 进行数组聚合,然后使用 ALL 运算符检查数组值:

SELECT
country,
CASE
WHEN 'Yes' = ALL(array_agg(some_type)) THEN 'Yes'
WHEN 'No' = ALL(array_agg(some_type)) THEN 'No'
ELSE 'Mixed'
END as type
FROM mytable
GROUP BY country

关于SQL 分组查询。总计的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58641167/

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