sql开窗函数及编程练习题

今天做题碰见了个没见过的开窗函数什么是开窗函数开窗函数也叫分析函数,有两类:一类是聚合开窗函数,一类是排序开窗函数。聚合开窗函数就是我们常见的avg()、count()、sum()等。SQL 标准允许将所有聚合函数用作开窗函数,用OVER 关键字区分开窗函数和聚合函数目前在 MSSQLServer、Oracle、DB2 等主流数据库中都提供了对开窗函数的支持,但在 mysql中还不支持。经常能用到的排序函数(1) row_number() over():对相等的值不进行区分,相等的值对应的排名不
摘要由CSDN通过智能技术生成

今天做题碰见了个没见过的开窗函数

什么是开窗函数

开窗函数也叫分析函数,有两类:一类是聚合开窗函数,一类是排序开窗函数。
聚合开窗函数就是我们常见的avg()、count()、sum()等。SQL 标准允许将所有聚合函数用作开窗函数,用OVER 关键字区分开窗函数和聚合函数
目前在 MSSQLServer、Oracle、DB2 等主流数据库中都提供了对开窗函数的支持,但在 mysql中还不支持。

经常能用到的排序函数

(1) row_number() over():对相等的值不进行区分,相等的值对应的排名不相同,序号从1到n连续。
(2) dense_rank() over():对相等的值排名相同,但序号从1到n连续。如果有两个人都排在第一名,则排在第2名(假设仅有1个第二名)的人是第3个人。
(3) rank() over():相等的值排名相同,但若有相等的值,则序号从1到n不连续。如果有两个人都排在第3名,则没有第4名。
(4) ntile( n ) over():可以看作是把有序的数据集合平均分配到指定的数量n的桶中,将桶号分配给每一行,排序对应的数字为桶号。如果不能平均分配,则较小桶号的桶分配额外的行,并且各个桶中能放的数据条数最多相差1。

语法

<开窗函数&g
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值