<返回更多

有了MySQL 8.0中的窗口函数,分组聚合再也不用GROUP BY

2023-11-23  今日头条  小李子说程序
加入收藏

前言

MySQL 8.0版本推出窗口函数(Window Functions)。

窗口函数为我们提供了一种新的方法来处理查询结果,可以在不使用GROUP BY子句的情况下进行聚合计算,极大地提高了SQL查询的灵活性和表现力。

窗口函数

主要分为3类,分别是聚合窗口函数、排序窗口函数、偏移窗口函数

聚合窗口函数: avg、sum、count、max、min等;

排序窗口函数:rank、dense_rank、row_number;

偏移窗口函数:lag、lead

使用语法如下:

有了MySQL 8.0中的窗口函数,分组聚合再也不用GROUP BY

语法

使用场景

不改变查询结果集的情况下,对结果集中的行进行排序、排名、累计计算等操作。

有了MySQL 8.0中的窗口函数,分组聚合再也不用GROUP BY

 

实例

假设我们有一个销售数据表,其中包含了每个销售员的销售额和销售日期。现在我们想要计算每个销售员在每个月的销售额总和

使用PARTITION BY:

有了MySQL 8.0中的窗口函数,分组聚合再也不用GROUP BY

 

使用GROUP BY:

有了MySQL 8.0中的窗口函数,分组聚合再也不用GROUP BY

 

总结

MySQL 8.0中引入的窗口函数不仅提高了SQL查询的功能和表现力,还使得在SQL中进行更灵活的数据分析和处理成为可能。

通过窗口函数,我们可以更方便地对数据进行排序、排名、累计计算等操作,从而更好地满足不同的数据分析需求。

关键词:MySQL      点击(10)
声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多MySQL相关>>>