Mysql 使用大于号进行计数
我有一个查询,如下所示:Mysql 使用大于号进行计数,mysql,count,aggregate-functions,Mysql,Count,Aggregate Functions,我有一个查询,如下所示: SELECT cat_code, cat_desc, count(mthtrn > 0), count(ltmtrn) from my_temp_table group by cat_code order by mthsls desc; 如何让我的第一个count()只获取值大于零的计数,而在第二个中获取所有值?我可以用sum()做一个大于,但对于计数,我似乎做不到if,即使没有抛出错误 理想情况下,这将非常棒: SELECT cat_code, cat_des
SELECT
cat_code, cat_desc,
count(mthtrn > 0),
count(ltmtrn)
from my_temp_table
group by cat_code
order by mthsls desc;
如何让我的第一个count()
只获取值大于零的计数,而在第二个中获取所有值?我可以用sum()
做一个大于,但对于计数,我似乎做不到if,即使没有抛出错误
理想情况下,这将非常棒:
SELECT
cat_code, cat_desc,
count(distinct member_id having mthtrn > 0),
count(ltmtrn)
from my_temp_table
group by cat_code
order by mthsls desc;
我知道它是无效的,但类似的东西。使用:
SELECT
cat_code, cat_desc,
count(distinct case when mthtrn > 0 then member_id end),
count(ltmtrn)
from my_temp_table
group by cat_code
order by mthsls desc;