我有一个SQL表,并做了一个SQL查询,该查询按最新更新顺序排序,然后按fleetID
进行分组。
表在此图像中:
查询应返回第3行和第5行,而我的查询将返回 1行和第3行。 我的查询是:
SELECT * FROM ( SELECT * from test order by lastupdate )l group by l.fleetid
答案 0 :(得分:0)
您没有有效的SQL语句-即使您的MySQL版本恰好接受该语句。
如果您希望每个机队的最后更新日期,那么您要过滤数据,而不是汇总。这需要where
,而不是group by
:
select t.*
from test t
where t.lastupdate = (select max(t2.lastupdate)
from test t2
where t2.fleetid = t.fleetid
);