1、#查询当天的数据记录
· SELECT * FROM 表名 WHERE TO_DAYS(日期列) = TO_DAYS(NOW());
· SELECT * FROM 表名 WHERE DATE(日期列) = CURDATE();
2、#统计一定范围内,每个单位内的数据数量【单位可以天,月、周、年、等】
- #按天统计:
· SELECT DATE_FORMAT( 日期列, '%Y-%m-%d' ) days, count(*) count FROM 表名 GROUP BY days;
- #按周统计:
· SELECT DATE_FORMAT( 日期列, '%Y-%u' ) weeks, count(*) count FROM 表名GROUP BY weeks;
- #按月统计:
· SELECT DATE_FORMAT( 日期列, '%Y-%m' ) months, count(*) count FROM 表名 GROUP BY months;
3、#统计最近七天内的数据并按天分组:
· SELECT DATE_FORMAT( 日期列, '%Y-%m-%d' ) dates, count(*) count FROM ( SELECT * FROM 表名 WHERE DATE_SUB( CURDATE( ), INTERVAL 7 DAY )<= date( 日期列 ) ) AS v GROUP BY dates;
4、#查询1分钟内的数据;
SELECT * FROM 表名 WHERE 日期列 >= CURRENT_TIMESTAMP - INTERVAL 1 MINUTE
MySQL之按日期查询表数据
于 2021-10-12 16:09:49 首次发布