MySQL按年度、季度、月度、周、日、小時 編寫SQL統計資料案例
阿新 • • 發佈:2020-08-01
SELECT *FROM person_base_info;
小時維度查詢
1、查詢當前時間的前2小時之前的資料
select * from person_base_info WHERE create_time < DATE_SUB(NOW(), INTERVAL 2 HOUR)
2、查詢當前時間7天之前的資料、7天之前之內的資料,剛好7天的資料
SELECT count(uuid) AS cont FROM person_base_info WHERE DATE(create_time) < DATE_SUB(CURDATE(), INTERVAL 7 DAY);SELECT count(uuid) AS cont FROM person_base_info WHERE DATE(create_time) > DATE_SUB(CURDATE(), INTERVAL 7 DAY); SELECT count(uuid) AS cont FROM person_base_info WHERE DATE(create_time) = DATE_SUB(CURDATE(), INTERVAL 7 DAY);
按天統計
-- 第一種方式
SELECT DATE(create_time) createTime,count(uuid) countNum FROMperson_base_info
GROUP BY DATE(create_time) ORDER BY DATE(create_time) DESC;
-- 第二種方式
SELECT DATE_FORMAT(create_time,'%Y-%m-%d')createTime ,COUNT(uuid) countNum FROM person_base_info
GROUP BY DATE_FORMAT(create_time,'%Y-%m-%d')
按月統計
SELECT DATE_FORMAT(create_time,'%Y-%m')createTime ,COUNT(uuid)countNumFROM person_base_info GROUP BY DATE_FORMAT(create_time,'%Y-%m')
-- 另一種方式
SELECT MONTH(create_time) createTime,count(uuid) countNum FROM person_base_info
GROUP BY MONTH(create_time) ORDER BY MONTH(create_time) DESC;