gpt4 book ai didi

sql - HAVING 子句 : at least one of the ungrouped values is X

转载 作者:行者123 更新时间:2023-12-02 17:21:34 25 4
gpt4 key购买 nike

示例表:

Col1 | Col2
A | Apple
A | Banana
B | Apple
C | Banana

输出:

A

我想获取 Col1 的所有值,其中包含多个条目,并且至少有一个包含 Banana

我尝试使用GROUP BY:

SELECT Col1
FROM Table
GROUP BY Col1
HAVING count(*) > 1
AND ??? some kind of ONEOF(Col2) = 'Banana'

如何重新表述我的查询有效的 HAVING 子句?

最佳答案

使用条件聚合:

SELECT Col1
FROM Table
GROUP BY Col1
HAVING COUNT(DISTINCT col2) > 1 AND
COUNT(CASE WHEN col2 = 'Banana' THEN 1 END) >= 1

您可以使用 COUNT 有条件地检查 Col1 组是否具有至少一个 'Banana' 值code>CASE 里面的表达式。

请注意,第一个 COUNT 必须使用 DISTINCT,以便至少具有两个不同 Col1 的组> 检测到值。如果拥有多个条目意味着具有相同Col2值的行也重复多次,那么您可以跳过DISTINCT

关于sql - HAVING 子句 : at least one of the ungrouped values is X,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33919410/

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