我要GROUP BY CAT_ID,但仅显示结果,而GROUP_ID仅=1。如果该值和该唯一CAT_ID的其他值相同,则我不想包含它。
GROUP_ID CAT_ID
1 1
1 1
1 1
2 1
3 1
3 1
1 2
1 2
1 3
2 3
所以在这种情况下,结果将是:
CAT_ID
2
由于CAT_ID 2是GROUP_ID均为1的唯一分组。
答案 0 :(得分:1)
使用group by
和having
:
select cat_id
from t
group by cat_id
having max(group_id) = 1;
以上内容回答了您的问题,因为您正在寻找最小的group_id
。一个更通用的解决方案是:
having min(group_id) = max(group_id) and max(group_id) = 1;