题解 | #返回每个顾客不同订单的总金额#

返回每个顾客不同订单的总金额

https://www.nowcoder.com/practice/ce313253a81c4947b20e801cd4da7894

  • 题解:
select device_id,
    university,
    gpa
from (select *,
      row_number() over (partition by university order by gpa) as rn 
      from user_profile
     ) as univ_min
where rn=1
order by university
  • 考察要点:窗口函数
rank函数:这个例子中是5位,5位,7位,也就是如果有并列名次的行,会占用下一名次的位置。比如正常排名是1,2,3,4,但是现在前3名是并列的名次,结果是:1,1,1,4。
dense_rank函数:这个例子中是2位,2位,3位,3位,也就是如果有并列名次的行,不占用下一名次的位置。比如正常排名是1,2,3,4,但是现在前3名是并列的名次,结果是:1,1,1,2。
row_number函数:这个例子中是5位,6位,7位,8位,也就是不考虑并列名次的情况。比如前3名是并列的名次,排名是正常的1,2,3,4。#sql#
全部评论

相关推荐

客户端劝退第六人:情根深种啊,想让你回心转意
点赞 评论 收藏
分享
评论
2
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务