如何对多个sum 进行条件筛选?

时间:2022-10-30 18:08:45
比如对userName进行分组

分组完之后,想分别统计下2013年,2014年,2015年注册人数。

除了下面对count(*)用case when还有没有其他办法?




select  sum(case when jointime between '2014-1-1' and '2014-12-31 then 1 else 0),
sum(case when jointime between '2015-1-1' and '2015-12-31 then 1 else 0)

 ........... from users group by username

2 个解决方案

#1


union all 
分别算每一年,然后union all 合并
2013年 xxx
2014年 xxx
2015年 xxxx

#2


 select year(jointime) as 年份,count(1) as 注册用户数 from users group by year(jointime)

#1


union all 
分别算每一年,然后union all 合并
2013年 xxx
2014年 xxx
2015年 xxxx

#2


 select year(jointime) as 年份,count(1) as 注册用户数 from users group by year(jointime)