更新窗口函数的OVER参数描述:都是可选,但是最少二选一,否则没有意义。
This commit is contained in:
@@ -11,16 +11,20 @@
|
||||
窗口函数的通用形式:
|
||||
|
||||
```sql
|
||||
<窗口函数> OVER ([PARTITION BY <列名>]
|
||||
ORDER BY <排序用列名>)
|
||||
<窗口函数> OVER ([ PARTITION BY <列名> ]
|
||||
[ ORDER BY <排序用列名> ])
|
||||
```
|
||||
[ ]中的内容可以省略。
|
||||
|
||||
窗口函数最关键的是搞明白关键字 **PARTITON BY** 和 **ORDER BY** 的作用。
|
||||
|
||||
**PARTITON BY** 是用来分组,即选择要看哪个窗口,类似于 GROUP BY 子句的分组功能,但是 PARTITION BY 子句并不具备 GROUP BY 子句的汇总功能,并不会改变原始表中记录的行数。
|
||||
**PARTITON BY** 可选参数,是用来分组,即选择要看哪个窗口,类似于 GROUP BY 子句的分组功能,但是 PARTITION BY 子句并不具备 GROUP BY 子句的汇总功能,并不会改变原始表中记录的行数。
|
||||
|
||||
**ORDER BY** 是用来排序,即决定窗口内,是按那种规则(字段)来排序的。
|
||||
**ORDER BY** 可选参数,是用来排序,即决定窗口内,是按那种规则(字段)来排序的。
|
||||
|
||||
**注意**
|
||||
|
||||
虽然 **PARTITON BY** 和 **ORDER BY** 都是可选参数,但是两个参数不能同时没有(最少二选一)。不然, `<窗口函数> OVER( )` 这周用法没用实际意义。
|
||||
|
||||
举个栗子:
|
||||
|
||||
|
||||
Reference in New Issue
Block a user