分组之后取每组之内根据排序字段的第一行值 (可以根据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 [分组字段]