MySQL 窗口函数

MySQL 窗口函数
  • 1,窗口函数
    • 1.1,什么是窗口函数
    • 1.2,基本语法
  • 2,函数详解
    • 2.1,聚合函数
    • 2.2,排序函数
    • 2.3,偏移函数
    • 2.4,值函数
  • 3,进阶用法

1,窗口函数

1.1,什么是窗口函数

MySQL窗口函数是一种强大的工具,用于在查询中执行复杂的统计分析,而不需要改变表的结构或数据。MySQL从8.0版本开始支持窗口函数,这些函数也被称为分析函数,因为它们能够处理相对复杂的报表统计分析场景。

窗口的意思是将数据进行分组,每个分组即是一个窗口,这和使用聚合函数时的group by分组类似,但与聚合函数不同的地方是: 聚合函数(例如:sum/avg/min/max)会针对每个分组(窗口)聚合出一个结果(每一组返回一个结果)。 窗口函数会对每一条数据进行计算,并不会使返回的数据变少(每一行返回一个结果)

1.2,基本语法

-- 匿名窗口
SELECT 
	<窗口函数> over (partition by <分组列名> order by <排序列名>)
FROM `表名` 

-- 显式窗口
SELECT 
	<窗口函数> OVER w
FROM `表名` 
WINDOW w AS (partition by <分组列名> order by <排序列名>)

<窗口函数>的位置,可以放以下两种函数:

  1. 聚合函数:如SUM、AVG、COUNT、MAX、MIN等,可以在不合并行的情况下计算每行的聚合值。
  2. 专用窗口函数:
    • 排序函数:包括RANK、DENSE_RANK、ROW_NUMBER等&

你可能感兴趣的:(面试,学习路线,阿里巴巴,mysql,android,数据库)