MySQL 查询最近7天数据
MySQL 查询最近7天数据
引用别人的博客内容,如有侵权,联系删除!
链接: mysql 日期取近七天、当前周七天 数据(补全空数据) 简单案例.
根据自己的工作稍作总结:
1、获取当前日期:
SELECT CURDATE() AS date
2、获取前一天的时间:(更改数字,就可以获取自己想要的间隔天数)
SELECT DATE_SUB(CURDATE(), INTERVAL 1 DAY) AS date
3、修改create_time字段时间格式:(修改其他格式,请查询DATE_FORMAT函数的具体用法)
SELECT DATE_FORMAT(create_time,'%Y-%m-%d') AS createTime, count(*) AS num
FROM report
GROUP BY createTime
4、全部代码的执行效果:
--获取最近7天的每日报告数量
SELECT d.date, IFNULL(r.num,0) AS num
FROM (
SELECT CURDATE() AS date
UNION ALL
SELECT DATE_SUB(CURDATE(), INTERVAL 1 DAY) AS date
UNION ALL
SELECT DATE_SUB(CURDATE(), INTERVAL 2 DAY) AS date
UNION ALL
SELECT DATE_SUB(CURDATE(), INTERVAL 3 DAY) AS date
UNION ALL
SELECT DATE_SUB(CURDATE(), INTERVAL 4 DAY) AS date
UNION ALL
SELECT DATE_SUB(CURDATE(), INTERVAL 5 DAY) AS date
UNION ALL
SELECT DATE_SUB(CURDATE(), INTERVAL 6 DAY) AS date
UNION ALL
SELECT DATE_SUB(CURDATE(), INTERVAL 7 DAY) AS date
) d
LEFT JOIN (
SELECT DATE_FORMAT(create_time,'%Y-%m-%d') AS createTime, count(*) AS num
FROM report
GROUP BY createTime
) r ON r.createTime = d.date
GROUP BY d.date
引用自别人的博客内容
链接: mysql 日期取近七天、当前周七天 数据(补全空数据) 简单案例.