问个sql技术问题,有没有办法对sum()函数进行条件筛选。

时间:2023-02-03 03:04:05
比如对userName进行分组

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

除了对sum 用case when还有没有其他办法?

7 个解决方案

#1


问个sql技术问题,有没有办法对sum()函数进行条件筛选。

#2


group by year,sum(userName)

#3


引用 2 楼 machong8183 的回复:
group by year,sum(userName)


你没理解楼主的意思

#4


having  问个sql技术问题,有没有办法对sum()函数进行条件筛选。问个sql技术问题,有没有办法对sum()函数进行条件筛选。

#5


引用 2 楼 machong8183 的回复:
group by year,sum(userName)
问个sql技术问题,有没有办法对sum()函数进行条件筛选。问个sql技术问题,有没有办法对sum()函数进行条件筛选。

#6


select userName
sum(case when year=2015 then *** else 0 end) , 
sum(case when year=2014 then *** else 0 end) 
from 表 group by userName


你大体说的是这个意思。得看下具体的数据

如果不用case when 的话, 要 结合 having 子句来写,好久没写了,公司没有数据库模拟数据

#7


去技术区问问 问个sql技术问题,有没有办法对sum()函数进行条件筛选。

#1


问个sql技术问题,有没有办法对sum()函数进行条件筛选。

#2


group by year,sum(userName)

#3


引用 2 楼 machong8183 的回复:
group by year,sum(userName)


你没理解楼主的意思

#4


having  问个sql技术问题,有没有办法对sum()函数进行条件筛选。问个sql技术问题,有没有办法对sum()函数进行条件筛选。

#5


引用 2 楼 machong8183 的回复:
group by year,sum(userName)
问个sql技术问题,有没有办法对sum()函数进行条件筛选。问个sql技术问题,有没有办法对sum()函数进行条件筛选。

#6


select userName
sum(case when year=2015 then *** else 0 end) , 
sum(case when year=2014 then *** else 0 end) 
from 表 group by userName


你大体说的是这个意思。得看下具体的数据

如果不用case when 的话, 要 结合 having 子句来写,好久没写了,公司没有数据库模拟数据

#7


去技术区问问 问个sql技术问题,有没有办法对sum()函数进行条件筛选。