数据库—窗口函数

窗口函数OLAP

(MySQL8.0以后的版本才支持)
可以对数据库数据进行实时分析处理

1.语法:窗口函数 over (partition by 用于分组的字段名 order by 用于排序的字段名)

2.窗口函数的位置,可以放以下两种函数:
①专用窗口函数,比如rank, dense_rank, row_number等
②聚合函数,如sum. avg, count, max, min等

3.窗口函数的功能:
①时具有分组(partition by)和排序(order by)的功能
②减少原表的行数,所以经常用来在每组内排名

注意:窗口函数原则上只能写在select子句中

4.窗口函数使用场景:业务需求“在每组内排名”
窗口函数rank()over(…)是在指定分区(partition by)对指定字段排序(order by),然后依次赋予排名的函数
常用窗口函数:

函数名 参数 描述
rank() 这种排序允许并列,并且保留空缺,两个第一名,没有第二名,排名1,1,3
dense_rank() 这种排序允许并列,但不留空,两个第一名,接下来就是第二名,排名1,1,2
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值