b>=0
我要达到的目的是,每当我在状态列中仅通过发件人ID获得“聊天”值一次时,并且在处理列中对于相同的发件人ID,“结束状态”值的计数为零计数该发件人ID并显示这些发件人ID的输出。我期望下面的输出:有人可以帮忙吗?
输出
仅具有一个聊天状态且没有结束状态进程2的不同注册ID的计数
仅具有一个聊天状态且没有结束状态处理的唯一寄存器ID 104 106
答案 0 :(得分:0)
如果我正确理解的话,您需要这样做:
select RegisterID
from your_table
group by RegisterID
having
sum(case when Status='chat' then 1 end) = 1
and
sum(case when Process = 'end state' then 1 else 0 end) = 0
或者,如果您需要计算列表中RegisterID
的插入次数,则:
select count(*) from (
select RegisterID
from your_table
group by RegisterID
having
sum(case when Status='chat' then 1 end) = 1
and
sum(case when Process = 'end state' then 1 else 0 end) = 0
) t