我需要查出每个工厂水质记录里最新的一条记录,我目前的sql是这样写的SELECT factory_id factoryId, is_qualified isQualified FROM pf_water_report WHERE factory_id in (1,2,3) GROUP BY factory_id ORDER BY time DESC
factory_id代表工厂id , is_qualified 代表是否合格
然而由于group by比order by先执行的缘故,我得到的并不是最新的数据,想问问如何先让数据按时间排序,再group by
mysql 5.6可以这样:
5.7以后对子查询排序做了优化,子查询全表排序失效,可以这样: