我们都知道MySQL在group by分组完之后查询,每组会有一个默认的排序。

如果我想要其他数据还是按默认排序取,但指定字段取最大值,可以这样写SQL:

SELECT id, max(create_time) FROM tb GROUP BY id;

反过来,其他数据还是按默认排序取,指定字段取最小值:

SELECT id, min(create_time) FROM tb GROUP BY id;

如果我想分组的排序不是默认排序,而是按照我想要的按某字段排序。

比如按操作用户uid分组查最新一条操作记录(是整条记录是最大的,不是某个字段):

select * from (select * from tb order by create_time desc) as a group by a.uid

MySQL里GROUP BY分组查询时如何取某字段的最大值或最新一条就介绍完了,希望对大家有帮助。

本文由《MySql教程网》原创,转载请注明出处!https://mysql360.com