1. 程式人生 > 實用技巧 >MySQL按年度、季度、月度、周、日、小時 編寫SQL統計資料案例

MySQL按年度、季度、月度、周、日、小時 編寫SQL統計資料案例

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 FROM
person_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)countNum
FROM 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;