结果展示
后面几个月没数据的没有截进来
基础数据准备
基础数据分为三部分:
按月分组获取每月工单数,
按月、事项名称分组获取每月办理次数最多的事项名称,
获取连续的月份
-- 按月分组获取每月工单数
SELECT date_format( create_time, 'yyyy-MM' ) ym, COUNT( * ) total
FROM pro_wo_form
GROUP BY date_format( create_time, 'yyyy-MM' )
这部分比较简单就省略结果截图了,可以按需要添加时间范围过滤
-- 按月、事项名称分组获取每月办理次数最多的事项名称
SELECT * FROM (
SELECT row_number() over ( PARTITION BY ym ORDER BY total DESC ) rn, *
FROM (SELECT date_format(create_time, 'yyyy-MM') ym, act_name, COUNT(*) total
FROM pro_wo_form
GROUP BY date_format(create_time, 'yyyy-MM'), act_name) t1
) t2
<