我有这种结构
ID STATUS
1 FIRSTSTAT
2 FIRSTSTAT
3 FIRSTSTAT
1 SECSTAT
3 SECSTAT
3 THIRDSTAT
3 FOURTHSTAT
3 FIFTHSTAT
我希望得到3
,因为他拥有以下所有状态(FIRSTSTAT,SECSTAT,THIRDSTAT)。你知道我该怎么做吗?
应该通过明确给出状态来完成,因为存在其他状态,因此SELECT FROM WHERE = 'THIRDSTAT'
不正常,因为它应该具有所有三种状态,而不仅仅是其中一种状态。
所以我想应该完成计算SUM之类的东西。
我尝试了以下但当然,它不起作用:
SELECT
FROM
WHERE
AND
AND
答案 0 :(得分:3)
如果已知不同状态值的数量始终为3:
select id
from tablename
where status in ('FIRSTSTAT', 'SECSTAT', 'THIRDSTAT')
group by id
having count(distinct status) = 3