关于mysql:Mysql-获取表中-对某个字段进行分组-然后在分组之后的基础上-再组内排序-获取-分组后最新或者最大记录

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


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、查问后果:

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

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理