FWQ
如何高效获取一对多关系中的最新记录?
在不同表中找到一对多关系中的最新记录 问题: 如何快速高效地从两张表中获取一对多关系的最新记录?子查询效率太低。 解决方案: 一个性能优异的解决方案是使用内连接和子查询。首先,对记录表按时间戳降序并分组,仅选择每个设备的最新记录。然后,将此子查询与主表进行关联即可。 sql 代码: SELECT r.air_conditioner_id, r.curr_temp, r.curr_power, r.time_millis FROM air_conditioner_record r, ( SELECT air_conditioner_id, max( time_millis ) max_time FROM air_conditioner_record WHERE time_millis <= REPLACE(unix_timestamp(now(3)),'.','')…