我能问这样的:count(a.selected_he =“yes”)是否可以?
having count(a.selected_he = "yes") > 2
我想问如果结果的计数记录了selected_he = yes
超过2
。 但我不确定我可以在计数功能中写入a.selected_he = "yes"
。
我对不对?
我能问这样的:count(a.selected_he =“yes”)是否可以?
having count(a.selected_he = "yes") > 2
我想问如果结果的计数记录了selected_he = yes
超过2
。 但我不确定我可以在计数功能中写入a.selected_he = "yes"
。
我对不对?
SELECT sum(CASE WHEN a.selected_he='yes' THEN 1 ELSE 0 END)>2 FROM ...
count
计数非null
S,不true
秒。
'总和'会做的伎俩呢? –
是的,会的。当然你可以“计数(当a.select_he ='yes',然后1 else null结束时)',但你为什么要:) –
select id,count(*) as counts
from table
where selected_he = 'yes'
group by id
having counts > 2
如果where子句中的列不包含空值。
假设OP想要过滤掉其余部分,听起来像是一个不错的选择。但是在这里没有很好的定义。 –
你为什么不试试自己?诸如“我能做这个还是那个?”的问题如果你真的自己尝试,通常可以得到更快的回答。 – Griffin
尝试用sum()代替。比较的布尔结果将被转换为一个int(0或1),两者都将被“计数”。但是,如果你总结(),那么你只会加上“真”值。 –