窗口函数是那些对分区或窗口的每一行进行操作的函数。这些函数为每条查询行产生结果,而聚合函数则将它们分组,并将结果归入单行。
窗口函数的基本语法:
<窗口函数> OVER ( [ PARTITION BY <列清单> ] ORDER BY <排序用列清单> )
PARTITION BY 按指定对象来分类。
ORDER BY 能够指定按照哪一列、何种顺序进行排序。
这篇主要是排名窗口函数的应用。
故事:来自真新镇的10岁天才少年小智,用他25年的学习经验夺得了世界冠军。今天他想在隔壁老木那里看看哪只杰尼龟和小火龙的攻击力最高。他简单的看了下数据,决定用SQL操作一番。
SELECT *
FROM pokemon_table;
对上述SQL进行拆分解释,先来看看OVER括号里的内容:
接下来看看这几个排名的区别:
这三个排序还是比较好记的:
另外需要知道的是,排序窗口函数的第一个括号是不需要填任何东西的,而第二个括号中PARTITION BY不是必须项,但是去掉的话,就是按整个表的数据进行处理,不会按组进行分类处理了
总结:
<窗口函数> OVER ( [ PARTITION BY <列清单> ] ORDER BY <排序用列清单> )
彩蛋:小智肯定不会只满足于攻击力高这一选项,毕竟是顶尖训练师,所以他接下来要做的事情便是找到综合实力最高的,平均实力最强的,数量最多的小精灵。
页面更新:2024-03-31
本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828
© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号