MySQL学习笔记-得到一组数据的最新数据


有一组电池(Battery),每个电池都会不断的更新检测数据(BatteryData),现在要获得最新的所有的电池数据。
也就是每个电池数据的id最大的那个。


方法1:
select * from BatteryData where id in (select max(id) from batterydata where batteryGroupId=?1 group by batteryId )order by batteryId


方法2:
select bd.* from BatteryData bd,(select max(id) id from batterydata where batteryGroupId=?1 group by batteryId ) bd2 where  bd2.id=bd.id  order by batteryId"


第一种方法,出现了全表检索,速度非常慢。
第二种方法性能很好。

不知道各位网友是否有更好的查询方式。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值