要实现这个需求,可以使用子查询和JOIN操作来实现。\n\n首先,我们需要找出b表中每个id对应的最新时间的数据,可以使用以下子查询语句:\n\nsql\nSELECT b.id, MAX(b.time) AS latest_time\nFROM b\nGROUP BY b.id\n\n\n然后,我们可以将上述子查询结果作为一个临时表,与a表进行JOIN操作,以匹配id和最新时间。最终的SQL查询如下:\n\nsql\nSELECT a.*, b.*\nFROM a\nJOIN (\n SELECT b.id, MAX(b.time) AS latest_time\n FROM b\n GROUP BY b.id\n) AS latest_b\nON a.id = latest_b.id\nAND b.time = latest_b.latest_time\n\n\n这样,就可以得到a表中每个id对应的最新时间的一条b表数据,并与a表进行匹配。


原文地址: https://www.cveoy.top/t/topic/qeU3 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录