需求
电力实时数据表中,查询多个设备最后一次插入的数据
版本
SQL
SELECT * FROM(SELECT id,deviceid,powertotal FROM t_electric_realtime where deviceid BETWEEN 30 and 39 ORDER BY id DESC LIMIT 10) a GROUP BY deviceid
分析:
表中插入时间也是有的,但是根据 ID 倒序排列,更快。
子查询的目的是先执行ORDER BY ,再执行 GROUP BY
查询是30到39,10个设备最新一条数据,limit也可以限制大一点,我这是实时表中是批量插入,再休眠一轮时间
group by 默认取分组结果的第一条记录
性能
40w测试数据中