D.R*_*.R. 6 sql t-sql sql-server sql-server-2014
示例表:
Col1 | Col2
A | Apple
A | Banana
B | Apple
C | Banana
Run Code Online (Sandbox Code Playgroud)
输出:
A
Run Code Online (Sandbox Code Playgroud)
我希望得到的所有值Col1都有多个条目,至少有一个条目Banana.
我试着用GROUP BY:
SELECT Col1
FROM Table
GROUP BY Col1
HAVING count(*) > 1
AND ??? some kind of ONEOF(Col2) = 'Banana'
Run Code Online (Sandbox Code Playgroud)
如何改写HAVING我的查询有效的子句?
Gio*_*sos 14
使用条件聚合:
SELECT Col1
FROM Table
GROUP BY Col1
HAVING COUNT(DISTINCT col2) > 1 AND
COUNT(CASE WHEN col2 = 'Banana' THEN 1 END) >= 1
Run Code Online (Sandbox Code Playgroud)
您可以使用带有表达式的条件有条件地检查Col1具有至少一个 'Banana'值的组.COUNTCASE
请注意,COUNT必须使用第一个DISTINCT,以便检测具有至少两个不同 Col1值的组.如果通过多个条目表示具有相同Col2值的行重复多次,则可以跳过DISTINCT.
| 归档时间: |
|
| 查看次数: |
1312 次 |
| 最近记录: |