表名為log表,時間字段為AddTime
1、查詢當天的數據
SELECT * FROM log WHERE TO_DAYS( AddTime ) = TO_DAYS( NOW());
2、查詢本周數據(上周日到本周六)
SELECT * FROM log WHERE YEARWEEK( DATE_FORMAT( AddTime, '%Y-%m-%d' )) = YEARWEEK( NOW());
3、 查詢近7天的數據,不包括當天
SELECT * FROM log WHERE TO_DAYS ( NOW( ) ) - TO_DAYS( AddTime ) <= '7' AND TO_DAYS ( NOW( ) ) - TO_DAYS( AddTime ) > 0;
4、 查詢上周的數據
SELECT * FROM log WHERE YEARWEEK( date_format( AddTime, '%Y-%m-%d' )) = YEARWEEK( now())- 1; -- 或 SELECT * FROM log WHERE date_format( AddTime, '%Y-%m' )= date_format( DATE_SUB( curdate(), INTERVAL 1 WEEK ), '%Y-%m' );
5、查詢本月的數據
SELECT * FROM log WHERE DATE_FORMAT( AddTime, '%Y%m' ) = DATE_FORMAT( CURDATE(), '%Y%m' );
6、查詢上個月的數據
SELECT * FROM log WHERE date_format( AddTime, '%Y-%m' )= date_format( DATE_SUB( curdate(), INTERVAL 1 MONTH ), '%Y-%m' );
7、查詢近30天的數據
SELECT * FROM log WHERE DATE_SUB( CURDATE(), INTERVAL 30 DAY ) <= DATE( AddTime );
8、查詢本季度的數據
SELECT * FROM log WHERE QUARTER ( AddTime ) = QUARTER ( NOW());
9、查詢上季度的數據
SELECT * FROM log WHERE QUARTER ( AddTime ) = QUARTER ( DATE_SUB( NOW(), INTERVAL 1 QUARTER ));
10、查詢距現在6個月的數據
SELECT * FROM log WHERE AddTime BETWEEN DATE_SUB( NOW(), INTERVAL 6 MONTH ) AND NOW();
11、查詢本年的數據
SELECT * FROM log WHERE YEAR ( AddTime ) = YEAR ( NOW());
12、查詢上年的數據
SELECT * FROM log WHERE YEAR ( AddTime ) = YEAR ( DATE_SUB( NOW(), INTERVAL 1 YEAR ));
