这些值是单个表中的记录。我试图提取一些记录,其中一个人(PersonID)可以以相同的状态(Status)多次出现在同一课程(EventID)中。例如,PersonID = 123456可以具有EventID = ACT123的多行。状态在每一行上都不同,其值为“ A”,“ W”或“ D”。我要统计的是在同一事件(EventID)中状态为“ A”和“ D”的记录中的PersonID。例如:
PersonID = 786156,EventID = ACT123,状态= A
PersonID = 786156,EventID = ACT123,状态= D
PersonID = 685234,EventID = ACT123,状态= A
PersonID = 685234,EventID = ACT789,状态= D
So PersonID 786156将被选中,但不会选择PersonID 685234。有什么建议?
编辑添加示例
您可以使用group by
和having
:
select personID, eventID
from mytable
where status in ('A', 'D')
group by personID, eventID
having count(*) = 2
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句