mybatis的使用技巧9——mybatis按年、季度、月、周等不同时间维度查询或分组统计
在实际项目开发过程中,按不同时间维度查询业务数据的操作异常频繁,本文介绍mysql如何按年、季度、月、周、日等不同维度查询或分组统计数据
·
在实际项目开发过程中,按不同时间维度查询业务数据的操作异常频繁。比较多的操作如支持按时间周期范围做列表数据的筛选,或者是按年月日等维度的图表展示,亦或者是首页的概况,三维大屏的展示等,都离不开不同时间周期查询。
以下是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

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐
所有评论(0)