From a5dcdb07353107b2697eb4564676bde0624e549a Mon Sep 17 00:00:00 2001 From: humengyao Date: Wed, 19 Mar 2025 19:54:39 -0700 Subject: [PATCH] =?UTF-8?q?=E8=A1=A5=E5=85=85keep=E5=87=BD=E6=95=B0?= =?UTF-8?q?=E8=B5=84=E6=96=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../KEEP\345\207\275\346\225\260.md" | 94 ++++++++++++++++++ .../public_sys-resources/keep-first.png | Bin 0 -> 16672 bytes .../public_sys-resources/keep-last.png | Bin 0 -> 16693 bytes content/docs-lite/zh/menu/index.md | 1 + .../KEEP\345\207\275\346\225\260.md" | 94 ++++++++++++++++++ .../public_sys-resources/keep-first.png | Bin 0 -> 16672 bytes .../public_sys-resources/keep-last.png | Bin 0 -> 16693 bytes content/zh/menu/index.md | 1 + 8 files changed, 190 insertions(+) create mode 100755 "content/docs-lite/zh/docs/SQLReference/KEEP\345\207\275\346\225\260.md" create mode 100755 content/docs-lite/zh/docs/SQLReference/public_sys-resources/keep-first.png create mode 100755 content/docs-lite/zh/docs/SQLReference/public_sys-resources/keep-last.png create mode 100755 "content/zh/docs/SQLReference/KEEP\345\207\275\346\225\260.md" create mode 100755 content/zh/docs/SQLReference/public_sys-resources/keep-first.png create mode 100755 content/zh/docs/SQLReference/public_sys-resources/keep-last.png diff --git "a/content/docs-lite/zh/docs/SQLReference/KEEP\345\207\275\346\225\260.md" "b/content/docs-lite/zh/docs/SQLReference/KEEP\345\207\275\346\225\260.md" new file mode 100755 index 000000000..c239b0355 --- /dev/null +++ "b/content/docs-lite/zh/docs/SQLReference/KEEP\345\207\275\346\225\260.md" @@ -0,0 +1,94 @@ +# KEEP函数 + +## KEEP函数 + +仅在openGauss数据库A模式下支持KEEP函数的使用,该函数用于对一组行中的值进行操作,将这组行按照指定的排序规则排序后返回排在第一或最后的值。可以将其用作聚合或分析函数。 + +列存表目前暂不支持; + +该函数语法如下: +aggregate_function KEEP ( DENSE_RANK { FIRST | LAST } ORDER BY expr [ DESC | ASC ] [ NULLS { FIRST | LAST } ] [, expr [ DESC | ASC ] [ NULLS { FIRST | LAST } ]]... +)[ OVER ( [query_partition_clause] ) ] + + +![keep-first.png](public_sys-resources/keep-first.png) +![keep-last.png](public_sys-resources/keep-last.png) + +参数说明: + +| 参数 | 解释说明 | +|---------------------------|-------------------------------------------------------------------------------------------------------| +| aggregate_function | 指定聚合函数的种类。 | +| DENSE_RANK | 为各组内值生成连续排序序号,其中相同的值具有相同序号。 | +| expr | 可以是任何表达式。 | +| FIRST/LAST | 指定返回 expr 排序后那个位置的值。FIRST表示返回排在首位的值。LAST返回排在最后的值。 | +| DESC/ASC | 指定列表的排序方式,为可选项。ASC为升序排序,默认值。DESC为降序排序。 | +| NULLS { FIRST/LAST } | 排序后 expr 中 NULL 值的位置,为可选项。NULLS FIRST表示 NULL值排在非空值的前面。NULLS LAST表示NULL值排在非空值的后面,为默认值。 | +| OVER | 使用 OVER 子句定义窗口进行计算。 | +| query_partition_clause | 用于定义窗口函数的分区依据,指定对哪些列进行分组。数据会按这些列的值进行划分,每个分区内的数据会单独进行窗口计算。| + +keep函数支持的聚集函数列表: +| 函数名称 | 描述 | +|---------------|-------------------------------------------------------------| +| min(expression) | 所有输入行中 expression 的最小值。 | +| max(expression) | 所有输入行中 expression 的最大值。 | +| sum(expression) | 所有输入行的 expression 总和。 | +| avg(expression) | 所有输入值的均值(算术平均)。 | +| count(expression) | 返回查询到的数据的数量。 | +| stddev(expression) | stddev_samp 的别名,计算一组数值的样本标准差。 | +| variance(expression) | var_samp 的别名,计算一组数值的样本方差。 | + +>![](public_sys-resources/icon-note.png) **说明:** +> +>KEEP函数用于对一组行中的值进行操作,将这组行按照指定的排序规则排序后返回排在第一或最后的值。可以将其用作聚合或分析函数。 + + +- 示例 + ``` +--创建表 employees,并向里面插入数据。 + +create database db dbcompatibility 'A'; +CREATE DATABASE + +\c db +Non-SSL connection (SSL connection is recommended when requiring high-security) +You are now connected to database "db" as user "hmy". + +CREATE TABLE employees (department_id INT,manager_id INT,last_name varchar(50),hiredate varchar(50),SALARY INT); +CREATE TABLE + +INSERT INTO employees VALUES +(30, 100, 'Raphaely', '2017-07-01', 1700), +(30, 100, 'De Haan', '2018-05-01',11000), +(40, 100, 'Errazuriz', '2017-07-21', 1400), +(50, 100, 'Hartstein', '2019-10-05',14000), +(50, 100, 'Raphaely', '2017-07-22', 1700), +(50, 100, 'Weiss', '2019-10-05',13500), +(90, 100, 'Russell', '2019-07-11', 13000), +(90,100, 'Partners', '2018-12-01',14000); +INSERT 0 8 + +--(1)聚合函数示例 +--按照薪水排序,对排在第一的员工的薪水求和;按照雇用日期排序,对排在最后的员工的薪水求和。 +SELECT SUM(salary) KEEP (DENSE_RANK FIRST ORDER BY salary) "W", SUM(salary) KEEP (DENSE_RANK LAST ORDER BY hiredate) "B" FROM employees; + W | B +------+------- + 1400 | 27500 +(1 row) +--(2)分析函数示例 +--对于每个部门按照薪水排序,对排在第一的员工的薪水求和;按照雇用日期排序,对排在最后的员工的薪水求和。 +SELECT last_name,department_id,salary, SUM(salary) KEEP (DENSE_RANK FIRST ORDER BY salary) OVER (PARTITION BY department_id) "W", SUM(salary) KEEP (DENSE_RANK LAST ORDER BY hiredate) OVER (PARTITION BY department_id) "B" FROM employees ORDER BY department_id, salary, last_name; + last_name | department_id | salary | W | B +-----------+---------------+--------+-------+------- + Raphaely | 30 | 1700 | 1700 | 11000 + De Haan | 30 | 11000 | 1700 | 11000 + Errazuriz | 40 | 1400 | 1400 | 1400 + Raphaely | 50 | 1700 | 1700 | 27500 + Weiss | 50 | 13500 | 1700 | 27500 + Hartstein | 50 | 14000 | 1700 | 27500 + Russell | 90 | 13000 | 13000 | 13000 + Partners | 90 | 14000 | 13000 | 13000 +(8 rows) + ``` + + diff --git a/content/docs-lite/zh/docs/SQLReference/public_sys-resources/keep-first.png b/content/docs-lite/zh/docs/SQLReference/public_sys-resources/keep-first.png new file mode 100755 index 0000000000000000000000000000000000000000..af1d19499bbf37df342a9d0678442a39212af30e GIT binary patch literal 16672 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 literal 0 HcmV?d00001 diff --git a/content/docs-lite/zh/docs/SQLReference/public_sys-resources/keep-last.png b/content/docs-lite/zh/docs/SQLReference/public_sys-resources/keep-last.png new file mode 100755 index 0000000000000000000000000000000000000000..ea9f04db277460008c60c3f4bf9df258c2315b8a GIT binary patch literal 16693 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 - [聚集函数]({{< relref "./docs/SQLReference/聚集函数.md" >}}) - [窗口函数]({{< relref "./docs/SQLReference/窗口函数.md" >}}) + - [KEEP函数]({{< relref "./docs/SQLReference/KEEP函数.md" >}}) - [安全函数]({{< relref "./docs/SQLReference/安全函数.md" >}}) - [账本数据库的函数]({{< relref "./docs/SQLReference/账本数据库的函数.md" >}}) - [密态等值的函数]({{< relref "./docs/SQLReference/密态等值的函数.md" >}}) diff --git "a/content/zh/docs/SQLReference/KEEP\345\207\275\346\225\260.md" "b/content/zh/docs/SQLReference/KEEP\345\207\275\346\225\260.md" new file mode 100755 index 000000000..c239b0355 --- /dev/null +++ "b/content/zh/docs/SQLReference/KEEP\345\207\275\346\225\260.md" @@ -0,0 +1,94 @@ +# KEEP函数 + +## KEEP函数 + +仅在openGauss数据库A模式下支持KEEP函数的使用,该函数用于对一组行中的值进行操作,将这组行按照指定的排序规则排序后返回排在第一或最后的值。可以将其用作聚合或分析函数。 + +列存表目前暂不支持; + +该函数语法如下: +aggregate_function KEEP ( DENSE_RANK { FIRST | LAST } ORDER BY expr [ DESC | ASC ] [ NULLS { FIRST | LAST } ] [, expr [ DESC | ASC ] [ NULLS { FIRST | LAST } ]]... +)[ OVER ( [query_partition_clause] ) ] + + +![keep-first.png](public_sys-resources/keep-first.png) +![keep-last.png](public_sys-resources/keep-last.png) + +参数说明: + +| 参数 | 解释说明 | +|---------------------------|-------------------------------------------------------------------------------------------------------| +| aggregate_function | 指定聚合函数的种类。 | +| DENSE_RANK | 为各组内值生成连续排序序号,其中相同的值具有相同序号。 | +| expr | 可以是任何表达式。 | +| FIRST/LAST | 指定返回 expr 排序后那个位置的值。FIRST表示返回排在首位的值。LAST返回排在最后的值。 | +| DESC/ASC | 指定列表的排序方式,为可选项。ASC为升序排序,默认值。DESC为降序排序。 | +| NULLS { FIRST/LAST } | 排序后 expr 中 NULL 值的位置,为可选项。NULLS FIRST表示 NULL值排在非空值的前面。NULLS LAST表示NULL值排在非空值的后面,为默认值。 | +| OVER | 使用 OVER 子句定义窗口进行计算。 | +| query_partition_clause | 用于定义窗口函数的分区依据,指定对哪些列进行分组。数据会按这些列的值进行划分,每个分区内的数据会单独进行窗口计算。| + +keep函数支持的聚集函数列表: +| 函数名称 | 描述 | +|---------------|-------------------------------------------------------------| +| min(expression) | 所有输入行中 expression 的最小值。 | +| max(expression) | 所有输入行中 expression 的最大值。 | +| sum(expression) | 所有输入行的 expression 总和。 | +| avg(expression) | 所有输入值的均值(算术平均)。 | +| count(expression) | 返回查询到的数据的数量。 | +| stddev(expression) | stddev_samp 的别名,计算一组数值的样本标准差。 | +| variance(expression) | var_samp 的别名,计算一组数值的样本方差。 | + +>![](public_sys-resources/icon-note.png) **说明:** +> +>KEEP函数用于对一组行中的值进行操作,将这组行按照指定的排序规则排序后返回排在第一或最后的值。可以将其用作聚合或分析函数。 + + +- 示例 + ``` +--创建表 employees,并向里面插入数据。 + +create database db dbcompatibility 'A'; +CREATE DATABASE + +\c db +Non-SSL connection (SSL connection is recommended when requiring high-security) +You are now connected to database "db" as user "hmy". + +CREATE TABLE employees (department_id INT,manager_id INT,last_name varchar(50),hiredate varchar(50),SALARY INT); +CREATE TABLE + +INSERT INTO employees VALUES +(30, 100, 'Raphaely', '2017-07-01', 1700), +(30, 100, 'De Haan', '2018-05-01',11000), +(40, 100, 'Errazuriz', '2017-07-21', 1400), +(50, 100, 'Hartstein', '2019-10-05',14000), +(50, 100, 'Raphaely', '2017-07-22', 1700), +(50, 100, 'Weiss', '2019-10-05',13500), +(90, 100, 'Russell', '2019-07-11', 13000), +(90,100, 'Partners', '2018-12-01',14000); +INSERT 0 8 + +--(1)聚合函数示例 +--按照薪水排序,对排在第一的员工的薪水求和;按照雇用日期排序,对排在最后的员工的薪水求和。 +SELECT SUM(salary) KEEP (DENSE_RANK FIRST ORDER BY salary) "W", SUM(salary) KEEP (DENSE_RANK LAST ORDER BY hiredate) "B" FROM employees; + W | B +------+------- + 1400 | 27500 +(1 row) +--(2)分析函数示例 +--对于每个部门按照薪水排序,对排在第一的员工的薪水求和;按照雇用日期排序,对排在最后的员工的薪水求和。 +SELECT last_name,department_id,salary, SUM(salary) KEEP (DENSE_RANK FIRST ORDER BY salary) OVER (PARTITION BY department_id) "W", SUM(salary) KEEP (DENSE_RANK LAST ORDER BY hiredate) OVER (PARTITION BY department_id) "B" FROM employees ORDER BY department_id, salary, last_name; + last_name | department_id | salary | W | B +-----------+---------------+--------+-------+------- + Raphaely | 30 | 1700 | 1700 | 11000 + De Haan | 30 | 11000 | 1700 | 11000 + Errazuriz | 40 | 1400 | 1400 | 1400 + Raphaely | 50 | 1700 | 1700 | 27500 + Weiss | 50 | 13500 | 1700 | 27500 + Hartstein | 50 | 14000 | 1700 | 27500 + Russell | 90 | 13000 | 13000 | 13000 + Partners | 90 | 14000 | 13000 | 13000 +(8 rows) + ``` + + diff --git a/content/zh/docs/SQLReference/public_sys-resources/keep-first.png b/content/zh/docs/SQLReference/public_sys-resources/keep-first.png new file mode 100755 index 0000000000000000000000000000000000000000..af1d19499bbf37df342a9d0678442a39212af30e GIT binary patch literal 16672 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 literal 0 HcmV?d00001 diff --git a/content/zh/docs/SQLReference/public_sys-resources/keep-last.png b/content/zh/docs/SQLReference/public_sys-resources/keep-last.png new file mode 100755 index 0000000000000000000000000000000000000000..ea9f04db277460008c60c3f4bf9df258c2315b8a GIT binary patch literal 16693 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 - [聚集函数]({{< relref "./docs/SQLReference/聚集函数.md" >}}) - [窗口函数]({{< relref "./docs/SQLReference/窗口函数.md" >}}) + - [KEEP函数]({{< relref "./docs/SQLReference/KEEP函数.md" >}}) - [安全函数]({{< relref "./docs/SQLReference/安全函数.md" >}}) - [账本数据库的函数]({{< relref "./docs/SQLReference/账本数据库的函数.md" >}}) - [密态等值的函数]({{< relref "./docs/SQLReference/密态等值的函数.md" >}}) -- Gitee