为什么要用窗口函数?

窗口函数具有什么功能?

分组和排序

但是这些功能我们的group

by和order by不是就可以实现了吗?

看差别:

场景:统计各班人数
当我们使用group by来分组统计的时候
在这里插入图片描述
当我们使用窗口函数的时候
在这里插入图片描述
很明显当我们使用group by分组时改变了原来数据库的行数,即生成了一张新表,但是使用窗口函数的时候并不会影响到我们的行数,这样我们在进行既需要分组又需要显示详细信息的时候可以使用该函数.

那么为什么叫窗口函数?

这是因为该函数在分组后的结果被称为"窗口"

窗口函数的语法:
<窗口函数> over (partition by <用于分组的列名>
                order by <用于排序的列名>)

窗口函数中的partition by是对表中需要分组的列来进行分组的
mysql在8.0版本以后开始支持窗口函数

发布了262 篇原创文章 · 获赞 491 · 访问量 33万+

猜你喜欢

转载自blog.csdn.net/qq_42859864/article/details/105563754