一棟樓有很多水表,每天都會不定時上傳資料,我想獲取表半年內每個月每個水表最后一次上傳的資料

SELECT
DATE_FORMAT(CREAT_DATE, '%Y-%m'),
SUM(PROPERTY_VALUE)
FROM
(SELECT
*
FROM
s_water
WHERE CREAT_DATE BETWEEN DATE_SUB(NOW(), INTERVAL 5 MONTH)
AND NOW()) AS a
GROUP BY DATE_FORMAT(CREAT_DATE, '%Y-%m')
這樣算的話會把每個月的上報資料都算出總和,我想過濾掉不是最后一條的資料
uj5u.com熱心網友回復:
select *from tb A
where not exists(select 1 from tb where device_code=A.device_code and create_date<A.create_date)
uj5u.com熱心網友回復:
select id FROM s_water where CREAT_DATE > DATE_SUB(NOW(), INTERVAL 6 MONTH) group by id,DATE_FORMAT(CREAT_DATE, '%Y-%m') order by CREAT_DATE desc這樣就可以獲取每個月最后一條記錄的ID
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/98094.html
標籤:MySQL
上一篇:mongoose 定時任務
下一篇:一個簡單的mysql 優化問題
