我现在有一个表,表里面有两个字段,一个人人员名称,一个是操作记录的时间
只要进行操作就会记录当前的操作人员和操作时间
现在需要统计每个人员当天,本周,本月,本年的分别操作了多少条
但是我现在能查询到的只有一条数据是正常的,其他数据都是一个总量
这是语句
select name,COUNT(4) as '今年处理量',
(select count(3) from stuser where DATE_FORMAT( STARTDATE, '%Y%m' ) = DATE_FORMAT( CURDATE( ) ,'%Y%m' ) ) as '本月处理量',
(select count(2) from stuser where YEARWEEK( date_format( STARTDATE,'%Y-%m-%d' ) ) = YEARWEEK( now() ) ) as '本周处理量',
(select count(1) from stuser where to_days(STARTDATE) = to_days(now())) as '今天处理量'
from stuser where YEAR(STARTDATE)=YEAR(NOW()) GROUP BY NAME
这是表里面的字段
这种用case when 就行了
可以参考我的文章 case when 的用法:
https://blog.csdn.net/konmor/article/details/100772902