在实际项目开发过程中,按不同时间维度查询业务数据的操作异常频繁。比较多的操作如支持按时间周期范围做列表数据的筛选,或者是按年月日等维度的图表展示,亦或者是首页的概况,三维大屏的展示等,都离不开不同时间周期查询。
以下是mysql按照不同时间周期做数据的分组统计,也可以适用于相关周期的数据查询。
需要注意的点:sql关键字的执行顺序,具体可以参看下方链接:
https://www.cnblogs.com/virgosnail/p/16061395.html
1.年周期
select count(sai.id) AS sumSesr,
DATE_FORMAT(sai.apply_time, '%Y') AS remindTimeStr
from test_info sai
group by remindTimeStr
order by remindTimeStr ASC

2.季度周期
select count(sai.id) AS sumSesr,
CONCAT(YEAR(sai.apply_time), '-Q', QUARTER(sai.apply_time)) AS remindTimeStr
from test_info sai
group by remindTimeStr
order by remindTimeStr ASC

3.月周期
select count(sai.id) AS sumSesr,
DATE_FORMAT(sai.apply_time, '%Y-%m') AS remindTimeStr
from test_info sai
group by remindTimeStr
order by remindTimeStr ASC

4.周的周期
select count(sai.id) AS sumSesr,
CONCAT(YEAR(sai.apply_time), '-W', LPAD(WEEK(sai.apply_time), 2, '0')) AS remindTimeStr
from test_info sai
group by remindTimeStr
order by remindTimeStr ASC

5.日周期
select count(sai.id) AS sumSesr,
DATE_FORMAT(sai.apply_time, '%Y-%m-%d') AS remindTimeStr
from test_info sai
group by remindTimeStr
order by remindTimeStr ASC


本文详细介绍了在项目开发中如何使用MySQL进行按年、季度、月、周、日不同时间周期的数据分组统计,以满足各种报表和展示需求,强调了SQL关键字执行顺序的重要性。
4661

被折叠的 条评论
为什么被折叠?



