MySQL从8.0版本开始支持窗口函数。窗口函数的作用类似于在查询中对数据进行分组
,不同的是,Group By分组操作会把分组的结果聚合成一条记录,而窗口函数是将分组的结果置于每一条数据记录中
。
window_function_name (expression)
over(
[partition_definition]
[order_definition]
[frame_definition])
window_function_name:函数名 (专用窗口函数、也可以使用聚合函数)
over:关键字
partition by: 窗口按照指定字段进行分组,窗口功能在分组内执行,并且在跨越分区边界时重新初始化; order by :按照指定字段进行排序,窗口函数将按照排序后的记录顺序进行编号,可以和partition 语句结合使用,也可以单独使用;
frame:frame是当前分区的一个子集,在分区中再进一步的细分窗口,通常用来作为滑动窗口使用,某些窗口函数属于静态窗口,frame子句没有作用
专用窗口函数
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END