一文会用MySQL的窗口函数 1 窗口函数 1.1 什么是窗口函数 窗口函数,也叫OLAP函数(Online Analytical Processing,联机分析处理),可以对数据库进行实时分析处理,窗口函数的基本语法如下:<窗口函数> over (partition by <用于分组的列名> order by <用于排序的列名>) <窗口函数>的位置,可以放以下两种函数: 1> 专用窗口函数,包括:rank,dense_rank,row_number等; 2> 聚合函数,如sum,avg,count,max,min等。 因为窗口函数是对where或者group by子句处理后的结果进行操作,原则上窗口函数只能出现在select子句中。 1.2 窗口函数作用 在数据库应用中,经常会遇到分组排名的数据分析需求,例如下面的业务需求: 1> 排名问题:每个部门按业绩来排名; 2> topN问题:找出每个部门排名前N的员工信息; 对于这类需求,使用窗口函数是非常便捷的。 2 数据准备 2.1 表结构 如下有一个学生课程成绩表: 订单表如下: 2.2 测试数据 向学生表里面插入以下测试数据: 向订单表里面插入以下测试数据: 3 函数详解 3.1 序号函数 1> rank():返回数据集中每个值的排名,排名是根据当前行之前的行数加1,不包含当前行,该函数排序的关联值可能产生顺序上的空隙。例如,查看各科成绩的排名信息,如下: 结果如下图所示:





2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/82452.html
