sql 窗口函数

窗口函数

1、专用窗口函数

2、聚合函数

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

一、应用场景:

1、排名问题

2、top N 问题

二、专用窗口函数种类

1、rank()

        按照某字段的排序结果添加排名,但它是跳跃的、间断的排名,例如两个并列第一名后,下一个是第三名。

SELECT Score,rank() over(ORDER BY Score desc) as 'Rank' FROM score

2、 row_number()

它是将某字段按照顺序依次添加行号。

SELECT Score,row_number() over(ORDER BY Score desc) as 'Rank' FROM score

3、 dense_rank()

dense 英语中指“稠密的、密集的”。dense_rank()是的排序数字是连续的、不间断。当有相同的分数时,它们的排名结果是并列的,例如,1,2,2,3。

SELECT Score,dense_rank() over(ORDER BY Score desc) as 'Rank' FROM score 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值