• SQL开窗函数用法


    开窗函数分类:

         根据使用的目的,开窗函数可以分为两类:聚合开窗函数和排序开窗函数。

        下面主要解析四种常用的排序开窗函数: 

         1、ROW_NUMBER() OVER () :

    对相等的值不进行区分,序号连续 

         2、RANK() OVER ():

    相等的值排名相同,但若有相等的值,则序号1到n不连续。

         3、DENSE_RANK() OVER () :

    对相等的值排名相同,但序号从1到n连续。

         4、NTILE(n) OVER () .

    可以看作是把有序的数据集合平均分配到指定的数量n的桶中,将桶号分配给每一行,排序对应的数字为桶号。如果不能平均分配,则较小桶号的桶分配额外的行,并且各个桶中能放的数据条数最多相差1。

       

    还有一些常用的开窗:

    5、max() over(partition by ... order by ...)
    6、min() over(partition by ... order by ...)
    7、sum() over(partition by ... order by ...)
    8、avg() over(partition by ... order by ...)
    9、first_value() over(partition by ... order by ...)
    10、last_value() over(partition by ... order by ...)
    11、lag() over(partition by ... order by ...)
    12、lead() over(partition by ... order by ...)

    lag ,lead 分别是向前,向后;
    lag 和lead 有三个参数,第一个参数是列名,第二个参数是偏移的offset,第三个参数是 超出记录窗口时的默认值)

    13、count() over(partition by ... order by ...)

  • 相关阅读:
    SpringBoot进阶教程(六十七)RateLimiter限流
    Nginx限流配置
    ab test压力测试
    Nginx负载均衡配置
    arduino串口通信
    flask文件路径设置问题
    WIN10和ubunu共享文件夹相互访问
    树莓派录音和播放声音
    深度学习论文翻译解析(十六):Squeeze-and-Excitation Networks
    人工智能必备数学基础:高等数学基础(2)
  • 原文地址:https://www.cnblogs.com/sycl/p/14172782.html
Copyright © 2020-2023  润新知