SELECT
device_id,
university,
gpa
FROM
(
SELECT
device_id,
university,
gpa,
row_number() over(partition by university order by gpa) as rk
FROM
user_profile
) t
WHERE t.rk = 1 重点在于子查询中的最后一行,其中row_number() over(partition by university order by gpa) as rk 表示的意思是将数据按照 university 分组,组内按照 gpa 升序排列,返回值是对应行在组内的排名。
这样,rk = 1 的数据表示的就是某个大学中 gpa 最小的数据。

京公网安备 11010502036488号