Code前端首页关于Code前端联系我们

MySQL 窗口函数代码应用示例及说明

terry 2年前 (2023-09-26) 阅读数 73 #数据库

1.概念介绍

窗函数,也叫解析函数,也叫窗函数。

可以实现复杂的统计分析。统计数据可以分为灵活的和可变的类别。它是一个非常重要且经常使用的分析功能(OLAP)。

窗口函数可以轻松实现Excel中需要多个视角或多个步骤的任务。是省时省力的好帮手。

下表展示了窗口函数和聚合函数之间的关系和区别,帮助您更好地理解两种函数类型的作用和应用:

(窗口函数是聚合函数的更高级用法,因此聚合函数出现在前面)MySQL窗口函数代码应用示例及解说

2。各窗口函数使用示例

2.1 sum()over()函数(比较聚合函数sum()函数):

(avg()、max()、min()函数相同) MySQL窗口函数代码应用示例及解说

2.2 order by 子句函数 MySQL窗口函数代码应用示例及解说

2.3rank(), close_rank(), rownumber() 排序函数

① rownumber() 上述(按销售描述排序) ----按照销售数量,降序排列无重复、无遗漏,1 2 3 4 5;

②rank()above(order by Sales desc)----将销售数量降序排序,与第一不相关,1 1 3 4 5;

③dense_rank() over(order by Sales desc) ----按照Sales降序对数字进行排序,并列第一第二,1 1 2 3 3 4;

④percent_rank() above( order by Sales desc) ---- 按Sales降序对数字进行排序,计算公式为(排序数字①)/(N-1)MySQL窗口函数代码应用示例及解说

2.4 Offset Lead() move向前,layer()向后移动MySQL窗口函数代码应用示例及解说

下面的写法更符合使用习惯。上面列出的顺序主要是为了方便后面解释。早期写代码时注意养成良好的习惯(带有指令的代码,在下一栏前放置逗号以醒目等) MySQL窗口函数代码应用示例及解说

Offset 多用于时间上向前或向后移动,计算留存率、最近两次消费的时间间隔等。本文的样本数据中没有日期,所以暂时使用销售数据。如果想理解透彻,还需要对代码运行结果做更实际的对比。 。

2.5 ntile()函数MySQL窗口函数代码应用示例及解说

2.6first_value()函数和last_value()函数

顾名思义:第一个值和最后一个值,大部分是与partition by子句和顺序结合起来的按句子

版权声明

本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

热门