我的表格如下:
ID Group
1 I
1 O
1 M
2 I
2 N
2 O
3 M
4 I
5 O
5 M
我需要找到所有ID都是Group M和I或O组。 在这种情况下,第1组和第5组。
谢谢!
答案 0 :(得分:3)
您可以在HAVING
子句中使用条件聚合进行分组:
SELECT Id
FROM mytable
WHERE [Group] IN ('I', 'O', 'M')
GROUP BY Id
HAVING COUNT(CASE WHEN [Group] = 'M' THEN 1 END) > 0 AND
COUNT(CASE WHEN [Group] IN ('O', 'I') THEN 1 END) > 0