当前位置:网站首页 > Haskell函数式编程 > 正文

mysql窗口函数执行顺序(mysql窗口函数从哪个版本开始有)



(1). MySQL8开始支持窗口函数. 其作用类似于在查询中对数据进行分组(GROUP BY),不同的是,分组操作会把分组的结果聚合成一条记录. 而窗口函数是将结果置于每一条数据记录中.

(2). 窗口函数还可以分为静态窗口函数和动态窗口函数.

  • 静态窗口函数的窗口大小是固定的,不会因为记录的不同而不同.
  • 动态窗口的窗口大小会随着记录的不同而变化.

(3). 窗口函数在整体上还可以分为序号函数,分布函数,前后函数,首尾函数和其他函数.

02b4204608884d49ba376024ada2c647.png

(1). 语法结构

 
  • OVER关键字指定窗口的范围. 如果可以省略后面的括号里的内容,则窗口包含WHERE子句符合条件的所有记录. 窗口函数会对于这些记录进行计算. 如果括号内的内容不为空,可以使用如下语法设置窗口.
  • 窗口名. 可以为窗口用AS关键字设置一个别名.
  • PARTITION BY : 分区,指定窗口函数按照哪些字段进行分区. 分区后,窗口函数在每个分区中分别计算.
  • ORDER BY : 指定窗口函数按照哪些字段进行排序. 执行排序操作使窗口函数按照排序后的数据记录的顺序编号.
  • FRAME : 为分区中的某个子集定义规则,可以用来作为滑动窗口使用.

(2). 准备工作

 

(1). ROW_NUMBER()函数

ROW_NUMBER函数能对数据的序号进行顺序显示.

 
  • 由查询结果可以知道,依据category_id将表中记录分为两个分区,窗口函数分别在每个分区进行计算. 并对表中记录进行顺序显示.

(2). RANK()函数

使用RANK函数能对序号进行并列排序,并且会跳过重复序号. 如1,1,3.

 

93c62902194142fd89df014e15a555ea.png

(3). DENSE_RANK()函数

使用该函数进行并列排序,并且不会跳过重复序号. 比如1,1,2.

 

68f4684e1df249c1a67efbeff91129e5.png

(1). PERCENT_RANK()函数

该函数是百分比函数,其按照(rank-1)/(rows-1)进行计算.

rank是RANK()函数计算的序号,row是当前窗口的总记录数.

 

97856f55e30a4eb5992a4134381157b9.png

(2). CUME_DIST()函数

CUME_DIST函数主要用于查询小于或等于某个值的比例.

查询当前表<或=当前价格的比例.

 

1789f41dcd8542e18e790af5eb0ab3d7.png

(1). LAG(expr,n)函数

该函数返回当前行的前n个行的expr的值.

 

7d66079a3bff487c8596fe94fb97fcad.png

​(2). LEAD(expr,n)函数

该函数返回当前行的后n个行的expr的值.

(1). FIRST_VALUE(expr)

该函数返回expr字段第一个expr的值.

 

70f5b77348f74c5b846c67d94c16599b.png

(2). LAST_VALUE(expr)函数

该函数用来返回expr字段最后一个expr的值.

到此这篇mysql窗口函数执行顺序(mysql窗口函数从哪个版本开始有)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • 微信选择支付方式怎么设置(微信怎么选择微信支付)2024-12-16 21:09:05
  • pivot函数 hive(pivot函数中哪个不能省略)2024-12-16 21:09:05
  • ifstream get函数(if(getchar()=='\\n'))2024-12-16 21:09:05
  • 摩斯密码加密(摩斯密码加密方式有哪些)2024-12-16 21:09:05
  • ip报文格式分析题(ipv4报文格式解析)2024-12-16 21:09:05
  • 鸿蒙软件后缀格式(鸿蒙系统软件的后缀)2024-12-16 21:09:05
  • 报文格式(报文格式错误怎么解决)2024-12-16 21:09:05
  • 路由守卫有几种模式(路由守卫有几种模式图片)2024-12-16 21:09:05
  • sigmoid函数原理(sigmoid function)2024-12-16 21:09:05
  • 多级列表样式怎么设置(多级列表样式怎么设置1.2变为2.1)2024-12-16 21:09:05
  • 全屏图片