MySQL之按日期查询表数据

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,sql,数据库)