mysql 获取最近半年内每个月最后一条上传的记录

qq_20661773 2018-01-13 11:38:15
一栋楼有很多水表,每天都会不定时上传数据,我想获取表半年内每个月每个水表最后一次上传的数据



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')
这样算的话会把每个月的上报数据都算出总和,我想过滤掉不是最后一条的数据
...全文
1849 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
进击的大菜鸟 2021-03-17
  • 打赏
  • 举报
回复
大佬,这个你是怎么搞得呀,我也有相似需求
a87977825 2018-01-19
  • 打赏
  • 举报
回复
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
rucypli 2018-01-15
  • 打赏
  • 举报
回复
select * from tb A where not exists(select 1 from tb where device_code=A.device_code and create_date<A.create_date)

56,679

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧