SQL窗口函数

本文详细解读了窗口函数在SQL中的使用,重点讲解了rank(), dense_rank(), row_number()的区别,通过实例说明如何在分组和排序后进行排名操作。理解这些函数有助于提升数据处理和分析能力。
摘要由CSDN通过智能技术生成

作用

先看一下窗口函数的结构

<窗口函数> over (partition by <字段1> order by <字段2>)

partition,分组;order,排序

所以窗口函数的主要作用就是用来分组和排序

用法

<窗口函数>的位置,既可以放窗口函数,也可以用聚合函数

窗口函数:rank(),row_number,dense_rank()等
聚合函数:sum(),count(),min(),max(),avg()等

区别

rank()

SELECT *,RANK() over(PARTITION by class ORDER BY score) 排名
FROM school

结果:

dense_rank()

SELECT *,DENSE_RANK() over(PARTITION by class ORDER BY score) 排名
FROM school

结果:

row_number()

SELECT *,ROW_NUMBER() over(PARTITION by class ORDER BY score) 排名
FROM school

结果:

总结:区别在于排名的数字不同

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值