sql按照时间取最新的数据

博客内容涉及使用SQL从数据库中按时间获取每个meter_id的最新value值,解决数据重复问题,实现类似查找各科目最高分的逻辑,通过选取最大create_time来确保数据是最新的。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本来数据库数据是这样,meter_id会有重复,create_time和value值不断更新,需求是取最新的value值,在这里插入图片描述
在这里插入图片描述
sql执行结果,meter不重复,value值是最新的,问题类似于取各科成绩最高分和最低分。。业务逻辑是先去取最大的时间值,然后再去筛选。
在这里插入图片描述

在这里插入图片描述


select msh.meter_id,msh.valve  from meter_state_histories msh,(
select 
meter_id,
max(create_time)as time
from meter_state_histories
GROUP BY meter_id
ORDER BY count(*)DESC)a where msh.meter_id=a.meter_id and msh.create_time=a.time
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值