Sql server 无法理解这个查询
我有一张如下安排的桌子:Sql server 无法理解这个查询,sql-server,Sql Server,我有一张如下安排的桌子: ID Group 1 I 1 O 1 M 2 I 2 N 2 O 3 M 4 I 5 O 5 M 我需要找到所有ID都是组M和组I或O。 在这种情况下,第1组和第5组 谢谢 您可以在HAVING子句中使用带条件聚合的分组: SELECT Id FROM mytable WHERE [Group] IN ('I', 'O', 'M') GROUP BY Id HAVING COUNT(CASE WHEN [Group] =
ID Group
1 I
1 O
1 M
2 I
2 N
2 O
3 M
4 I
5 O
5 M
我需要找到所有ID都是组M和组I或O。
在这种情况下,第1组和第5组
谢谢 您可以在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
谢谢!我将用我的真实例子来尝试这一点,看看我是否能让它工作。