MYSQL 开窗函数

 一、开窗函数

          1.什么是窗口函数: 窗口 + 函数
                                        窗口: 函数运行时计算的数据集的范围
                                        函数:运行时的函数:
                                               1.常用的聚合函数
                                               2.窗口内置的函数

           2. 语法结构:
                         函数 over([partition by xxx,...] [order by xxx,...]
                         over: 以谁进行开窗 =》 table
                         partition by:以谁进行分组(类似group by ) =》 字段
                         order by:以谁进行排序 =》字段

二、开窗 -内置函数

       1.         NTILE(N)理论解析:
                      把数据平均分配到N中,如果不能平均分配,优先分配到较小的编号中。

                   RANK理论解析:
                      从1开始,按照顺序,生成组内记录的编号,排序相同会重复,在名次中留下空位
                   ROW_NUMBER理论解析:
                      从1开始,按照顺序,生成组内记录的编号,序号没有重复的
                   DENSE_RANK理论解析:
                      从1开始,按照顺序,生成组内记录的编号,排序相同会重复,在名次中不留下空位

       2.            行段问题

                        lag   向上取第几行
                        lead    向下取第几行
                        语法格式:lag(input[, offset[, default]])
                        input =》 col 
                        offset =》 取第几行
                        default=》 取不到时 给一个默认值

       3.             取值问题
                        FIRST_VALUE(col):取分组后 截止到当前行 第一个值
                        LAST_VALUE(col):取分组后 截止到当前行 最后一个值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值