题解 | 找出每个学校GPA最低的同学

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

https://www.nowcoder.com/practice/90778f5ab7d64d35a40dc1095ff79065

select
    device_id,
    university,
    gpa
from (select *,
        row_number() over (partition by university order by gpa asc) as rn
from user_profile ) t
where rn = 1
order by university

窗口函数的基本语法

<窗口函数名>() OVER (
  [PARTITION BY 分组字段]
  [ORDER BY 排序字段]
  [ROWS BETWEEN ... AND ...] -- 可选
)

ROW_NUMBER()

唯一连续排名(无重复)

每个部门员工工资排名

RANK()

允许并列,跳跃排名(如1,1,3)

找出部门前三高薪员工

DENSE_RANK()

并列但连续排名(如1,1,2)

分组内连续排名

SUM()

累计求和

每月累计销售额

AVG()

移动平均

近三天平均收入

LAG()

取前一行的值

环比增长分析

LEAD()

取后一行的值

预测下一期数据

NTILE(n)

分桶

将数据分为 n 个等级

全部评论

相关推荐

累死的一条狗:稀有人才啊你简历写了啥他这么锲而不舍的问你
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务