MySQL 窗口函数分为哪些
时间: 2023-06-19 20:06:56 浏览: 96
MySQL支持以下窗口函数:
1. RANK() - 计算排名
2. DENSE_RANK() - 计算密集排名
3. ROW_NUMBER() - 计算行号
4. LAG() - 返回前N个行的指定列值
5. LEAD() - 返回后N个行的指定列值
6. FIRST_VALUE() - 返回分组中第一个行的指定列值
7. LAST_VALUE() - 返回分组中最后一个行的指定列值
8. SUM() - 计算指定列的总和
9. AVG() - 计算指定列的平均值
10. MAX() - 计算指定列的最大值
11. MIN() - 计算指定列的最小值
相关问题
mysql 窗口函数分类
MySQL 支持的窗口函数可以分为以下几类:
1. 聚合函数类:SUM、AVG、MAX、MIN、COUNT 等函数,可以对分组后的数据进行统计计算。
2. 排名函数类:ROW_NUMBER、RANK、DENSE_RANK、NTILE 等函数,可以根据某些列的值对数据进行排序,并给每行分配一个排名。
3. 分析函数类:LEAD、LAG、FIRST_VALUE、LAST_VALUE、PERCENT_RANK 等函数,可以在排序后的数据中获取某一行前后的数据。
4. 累计函数类:CUME_DIST、PERCENTILE_CONT、PERCENTILE_DISC、LISTAGG 等函数,可以计算某一列在排序后的数据中的排名百分比或字符串拼接等操作。
以上是 MySQL 中常用的窗口函数分类,不同的窗口函数有不同的功能,可以根据具体的需求选择不同的函数。
mysql窗口函数rank
MySQL窗口函数中的RANK函数是一种序号函数,它用于为查询结果集中的每一行分,而跳过下一个排名值。例如,如果有两行具有相同的排序值,则它们将被分配相同的排名,并且下一个排名值将被跳过。
与RANK函数类似的窗口函数还有ROW_NUMBER和DENSE_RANK。ROW_NUMBER函数为结果集中的每一行分配一个唯一的整数值,而DENSE_RANK函数为结果集中的每一行分配一个排名值,但不会跳过下一个排名值。
阅读全文