计算案例陈述中值出现的次数

时间:2015-05-27 18:14:33

标签: mysql

我在整个网站上查看了一个值在查询中出现的次数,并找到了答案,但没有在案例陈述中解决它。

这是我正在使用的查询返回结果,但结果应该更高......结果是70年代,但应该是这个数字的两倍。

查询:

select count(case when field#1 like "Y" then "1" else null end) as column name
from db
where datefield like '2015-04%'

1 个答案:

答案 0 :(得分:0)

要完成这样的事情,使用条件聚合会更有帮助。

这意味着,您只需将条件放在SUM()函数中,而不是使用case语句对项进行求和:

SELECT SUM(field1 LIKE '%y%')'
...

如果您不想使用条件聚合方法,并且更喜欢使用CASE,则需要使用SUM()代替COUNT(),如下所示:

SELECT SUM(CASE WHEN field1 LIKE '%y%' THEN 1 ELSE 0 END) AS counts
...