- 9
- 0
- 约5.12千字
- 约 5页
- 2017-08-03 发布于河南
- 举报
sql语句关键字over的作用及用法??
在应用具体的聚合函数、排名函数前对行集的分区和排序。over子句,用于支持窗口的计算,所以一般与排名开窗函数、聚合开窗函数一起使用。
窗口是用户指定的一组行。开窗函数计算从窗口派生的结果集中各行的值。
以前使用聚合函数必须分组,即便没有group by 子句,也是默认将表中所有的数据分成了1组,来聚合。通过使用over子句可以在不分组的情况下实现聚合运算,在查询结果集中既包含基础行的数据也包含聚合函数的值。(可以把over()子句理解成是“后台运行的数据”,只是为了让聚合函数或者是排名函数“用一下”,并不影响实际显示的数据。在后台提供数据。)
over子句的两种使用方式:
1.over子句与排名开窗函数一起用,语法:over([partition by 列1] order by 列2)。必须有order by 子句
2.over子句与聚合开窗函数一起用,语法:over([partition by 列1])不能使用order by子句了。【先演示这个】
注:当over()子句与聚合函数一起使用时,也可以直接写count(*) over()不在over()子句中进行任何分区,表示把整个表分为一个区。
第1种使用方式
over不能单独使用,要和分析函数:rank(),dense_rank(),row_number()等一起使用。其参数:ove
原创力文档

文档评论(0)