sql 分组 排序后取每组指定的最大值 最小值或者指定行数据

分组之后取每组之内根据排序字段的第一行值 (可以根据rownum 随便取)

SELECT
*
FROM
	( SELECT *, ROW_NUMBER () OVER ( PARTITION BY [分组字段] ORDER BY [排序字段] ) rownum FROM 表名 ) t 
WHERE rownum = 1

分组之后取字段最大/最小值

SELECT MAX(指定字段), [分组字段] FROM 表名 GROUP BY [分组字段]
SELECT MIN(指定字段), [分组字段] FROM 表名 GROUP BY [分组字段]
发布了97 篇原创文章 · 获赞 44 · 访问量 30万+

猜你喜欢

转载自blog.csdn.net/wangh92/article/details/100538030