From b50769358968e3700d8cc8fe3cbe9375769c74a8 Mon Sep 17 00:00:00 2001 From: mba1398 <26516464+mba1398@users.noreply.github.com> Date: Sun, 26 Jun 2022 18:41:04 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E7=AA=97=E5=8F=A3=E5=87=BD?= =?UTF-8?q?=E6=95=B0=E7=9A=84OVER=E5=8F=82=E6=95=B0=E6=8F=8F=E8=BF=B0?= =?UTF-8?q?=EF=BC=9A=E9=83=BD=E6=98=AF=E5=8F=AF=E9=80=89=EF=BC=8C=E4=BD=86?= =?UTF-8?q?=E6=98=AF=E6=9C=80=E5=B0=91=E4=BA=8C=E9=80=89=E4=B8=80=EF=BC=8C?= =?UTF-8?q?=E5=90=A6=E5=88=99=E6=B2=A1=E6=9C=89=E6=84=8F=E4=B9=89=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ch05: SQL高级处理.md | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/ch05: SQL高级处理.md b/ch05: SQL高级处理.md index 59805bf..a455243 100644 --- a/ch05: SQL高级处理.md +++ b/ch05: SQL高级处理.md @@ -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( )` 这周用法没用实际意义。 举个栗子: