likes
comments
collection
share

Mysql 获取表中 对某个字段进行分组 然后在分组之后的基础上 再组内排序 获取 分组后最新或者最

作者站长头像
站长
· 阅读数 28

1、新建User表,结构,及表中数据如下

Mysql 获取表中 对某个字段进行分组 然后在分组之后的基础上 再组内排序 获取 分组后最新或者最2、查询User表中,相同年龄最大的一条记录3、查询语句:

select * from (
 select ROW_NUMBER() over(partition by tt.name order by tt.age desc) RowNum
   ,tt.*
   from user tt) as t1  where RowNum = 1

4、查询结果:Mysql 获取表中 对某个字段进行分组 然后在分组之后的基础上 再组内排序 获取 分组后最新或者最5、查询,每组中,年龄最小的,需要查出所有的最小年龄记录6、查询语句:

select t1.* from user t1 
INNER JOIN
(select * from (
 select ROW_NUMBER() over(partition by tt.name order by tt.age ASC) RowNum
   ,tt.*
   from user tt) as t1  where RowNum = 1) t2
     on t1.`name` = t2.name and t1.age = t2.age