mysql 用 group by 查詢某段時間內每天的相關數據


主要用了 group by 對 time 字段分組查詢

1、查詢某個月內每天的最新數據

SELECT * FROM pm p 
WHERE p.id= 961 
AND p.time IN(
      SELECT MAX(time) FROM pm 
      WHERE id= 961 
      AND time BETWEEN '2021-03-01 00:00:00' AND '2021-03-30 23:59:59' 
      GROUP BY DATE_FORMAT(time,'%Y-%m-%d')
) 
GROUP BY time   #去除重復時間的記錄
ORDER BY time DESC;

子查詢里用分組查詢每天最大的時間點,然后主句通過時間去查詢記錄

2、要查詢一段時間內每天的平均值

SELECT DATE_FORMAT(time,'%Y-%m-%d') time_, AVG(value) FROM table_name
WHERE id= 34 
AND time BETWEEN '2020-07-01 00:00:00' AND '2020-07-31 23:59:59' 
GROUP BY time_;

注:GROUP BY 語句用於結合聚合函數,根據一個或多個列對結果集進行分組。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM