SQL33 找出每个学校GPA最低的同学

SQL33 找出每个学校GPA最低的同学_第1张图片

  • 语法 窗口函数
<窗口函数> over (partition by <用于分组的列名>
                order by <用于排序的列名>)
                

<窗口函数>的位置,可以放以下两种函数:

专用窗口函数,比如rank, dense_rank, row_number等
rank 如果有并列名次的行,会占用下一名次的位置 1 1 3
dense_rank 如果有并列名次的行,不占用下一名次的位置 1 1 2
row_number 如果有并列名次的行,也不考虑并列名次的情况 1 2 3
聚合函数,如sum. avg, count, max, min等
针对自身记录、以及自身记录之上的所有数据进行计算

SELECT device_id, university,gpa FROM
(SELECT device_id, university,gpa,
RANK() over (PARTITION BY university ORDER BY gpa) rk FROM user_profile) up
WHERE up.rk=1;

你可能感兴趣的:(sql,数据库,sql)