我的表格数据为:
C1 || C2
-----------------
1 || a
1 || b
1 || c
2 || a
2 || b
2 || c
3 || a
3 || b
4 || c
4 || d
5 || c
6 || a
我要选择所有具有C2 b
或c
且非值的C1个人号码。建议?
仅限 - > C1 = 4和5
答案 0 :(得分:0)
您可以使用having
子句来计算其他值。如果计数为0,那么您需要c1
值:
select c1
from table t
group by c1
having sum(case when c2 in ('b', 'c') then 1 else 0 end) = 0
答案 1 :(得分:0)
这个答案采用了与Gordon Lindoff的答案类似的技巧。
您可以将GROUP BY
与having
这样使用。
select c1
from table t
group by c1
having sum(case when c2 in ('b', 'c') then 1 else 0 end) > 0
and sum(case when c2 = 'a' then 1 else 0 end) = 0