KassieZ commented on code in PR #2012:
URL: https://github.com/apache/doris-website/pull/2012#discussion_r1953768729


##########
docs/sql-manual/sql-functions/scalar-functions/other-functions/convert-to.md:
##########
@@ -64,6 +83,4 @@ mysql> select * from class_test order by convert(class_name 
using gbk);
 |        5 | 我         | [5]         |

Review Comment:
   英文文档不要出现中文例子



##########
docs/sql-manual/sql-functions/aggregate-functions/grouping-id.md:
##########
@@ -24,157 +24,47 @@ specific language governing permissions and limitations
 under the License.
 -->
 
-## GROUPING_ID
 
-### Name
+## Description
 
-GROUPING_ID
+Computes the level of grouping for rows in a GROUP BY query. The GROUPING_ID 
function returns an integer bitmap indicating which columns in the GROUP BY 
list are not aggregated for a given output row. It can be used in the SELECT 
list, HAVING, or ORDER BY clauses when a GROUP BY is specified.
 
-### Description
-
-Is a function that computes the level of grouping. `GROUPING_ID` can be used 
only in the `SELECT <select> list`, `HAVING`, or `ORDER BY` clauses when `GROUP 
BY` is specified.
-
-#### Syntax
+## Syntax
 
 ```sql
-GROUPING_ID ( <column_expression>[ ,...n ] )
+GROUPING_ID(<column_expression> [, ...])
 ```
 
-#### Arguments
-
-`<column_expression>`
-
-Is a `column_expression` in a GROUP BY clause.
-
-#### Return Type
-
-BIGINT
-
-#### Remarks
-
-The GROUPING_ID's `<column_expression>` must exactly match the expression in 
the `GROUP BY` list. For example, if you are grouping by `user_id`, use 
`GROUPING_ID (user_id)`; or if you are grouping by `name`, use `GROUPING_ID 
(name)`.
-
-#### Comparing GROUPING_ID() to GROUPING()
+## Parameters
 
-`GROUPING_ID(<column_expression> [ ,...n ])` inputs the equivalent of the 
`GROUPING(<column_expression>)` return for each column in its column list in 
each output row as a string of ones and zeros. GROUPING_ID interprets that 
string as a base-2 number and returns the equivalent integer. For example 
consider the following statement: `SELECT a, b, c, SUM(d), GROUPING_ID(a,b,c) 
FROM T GROUP BY <group by list>`. The following table shows the GROUPING_ID() 
input and output values.
+| Parameter               | Description                                       |

Review Comment:
   Parameters 单复数可以统一下,和标题一致



##########
i18n/zh-CN/docusaurus-plugin-content-docs/version-2.0/sql-manual/sql-functions/aggregate-functions/grouping-id.md:
##########
@@ -42,140 +36,36 @@ GROUPING_ID ( <column_expression>[ ,...n ] )
 
 ## 参数
 
-`<column_expression>`
-
-是在 `GROUP BY` 子句中包含的列或表达式。
-
-#### Return Type
-
-BIGINT
-
-#### Remarks
-
-GROUPING_ID 函数的入参 `<column_expression>` 必须和 `GROUP BY` 子句的表达式一致。比如说,如果你按 
`user_id` 进行 `GROUP BY`,那么你的 GROUPING_ID 函数应该这么写:`GROUPING_ID 
(user_id)`。再比如说,你按 `name` 进行 `GROUP BY`,那么函数应该这么写:`GROUPING_ID (name)`。
-
-#### Comparing GROUPING_ID() to GROUPING()
+| 参数                  | 说明                                           |
+|-----------------------|------------------------------------------------|
+| `<column_expression>` | 在 GROUP BY 子句中包含的列或表达式,可以指定多个参数。 |
 
-`GROUPING_ID(<column_expression> [ ,...n ])` 
的计算规则为,对于输入的字段(或表达式)列表,分别对每个字段(或表达式)进行 `GROUPING(<column_expression>)` 
运算,得到的结果组成一个 01 串。这个 01 串实际上是二进制数,GROUPING_ID 函数会将其转化为十进制数返回。比如说,以 `SELECT a, 
b, c, SUM(d), GROUPING_ID(a,b,c) FROM T GROUP BY <group by list>` 语句为例,下面展示了 
GROUPING_ID() 函数的输入和输出。
+## 返回值
 
-| Columns aggregated | GROUPING_ID (a, b, c) input = GROUPING(a) + GROUPING(b) 
+ GROUPING(c) | GROUPING_ID () output |
-| ------------------ | 
------------------------------------------------------------ | 
--------------------- |
-| `a`                | `100`                                                   
     | `4`                   |
-| `b`                | `010`                                                   
     | `2`                   |
-| `c`                | `001`                                                   
     | `1`                   |
-| `ab`               | `110`                                                   
     | `6`                   |
-| `ac`               | `101`                                                   
     | `5`                   |
-| `bc`               | `011`                                                   
     | `3`                   |
-| `abc`              | `111`                                                   
     | `7`                   |
+返回一个 BIGINT 值,表示各分组列的聚合情况对应的二进制位图转换为十进制后的结果。
 
-#### Technical Definition of GROUPING_ID()
+## 示例
 
-GROUPING_ID 函数的入参必须是 GROUP BY 子句中的字段(或字段表达式)。GROUPING_ID() 
函数返回一个整数位图,位图中的每一位均与 GROUP BY 子句中的字段(或字段表达式)一一对应,位图中的最低位代表第 N 个参数,第二低位代表第 N-1 
个参数,以此类推。当某一位被置为 1 时,表示其对应的列不参与分组聚合。
+### 示例 A: 识别分组层级
 
-#### GROUPING_ID() Equivalents
-
-对于多个字段(或字段表达式)进行分组查询时,以下两个声明是等价的:
-
-声明 A:
-
-```sql
-SELECT GROUPING_ID(A,B)  
-FROM T   
-GROUP BY CUBE(A,B)
-```
-
-声明 B:
-
-```sql
-SELECT 3 FROM T GROUP BY ()  
-UNION ALL  
-SELECT 1 FROM T GROUP BY A  
-UNION ALL  
-SELECT 2 FROM T GROUP BY B  
-UNION ALL  
-SELECT 0 FROM T GROUP BY A,B
-```
-
-对于只对一个字段(或字段表达式)进行分组查询,`GROUPING (<column_expression>)` 和 
`GROUPING_ID(<column_expression>)` 是等价对。
-
-## 举例
-
-在开始我们的例子之前,我们先准备好以下数据:
-
-```sql
-CREATE TABLE employee (
-  uid        INT,
-  name       VARCHAR(32),
-  level      VARCHAR(32),
-  title      VARCHAR(32),
-  department VARCHAR(32),
-  hiredate   DATE
-)
-UNIQUE KEY(uid)
-DISTRIBUTED BY HASH(uid) BUCKETS 1
-PROPERTIES (
-  "replication_num" = "1"
-);
-
-INSERT INTO employee VALUES
-  (1, 'Abby', 'Senior', 'President', 'Board of Directors', '1999-11-13'),
-  (2, 'Bob', 'Senior', 'Vice-President', 'Board of Directors', '1999-11-13'),
-  (3, 'Candy', 'Senior', 'System Engineer', 'Technology', '2005-3-7'),
-  (4, 'Devere', 'Senior', 'Hardware Engineer', 'Technology', '2006-7-9'),
-  (5, 'Emilie', 'Senior', 'System Analyst', 'Technology', '2003-8-28'),
-  (6, 'Fredrick', 'Senior', 'Sales Manager', 'Sales', '2004-9-7'),
-  (7, 'Gitel', 'Assistant', 'Business Executive', 'Sales', '2003-3-19'),
-  (8, 'Haden', 'Trainee', 'Sales Assistant', 'Sales', '2007-6-30'),
-  (9, 'Irene', 'Assistant', 'Business Executive', 'Sales', '2005-10-20'),
-  (10, 'Jankin', 'Senior', 'Marketing Supervisor', 'Marketing', '2001-4-13'),
-  (11, 'Louis', 'Trainee', 'Marketing Assistant', 'Marketing', '2007-8-2'),
-  (12, 'Martin', 'Trainee', 'Marketing Assistant', 'Marketing', '2007-7-1'),
-  (13, 'Nasir', 'Assistant', 'Marketing Executive', 'Marketing', '2004-9-3');
-```
-
-结果如下:
-
-```text
-+------+----------+-----------+----------------------+--------------------+------------+
-| uid  | name     | level     | title                | department         | 
hiredate   |
-+------+----------+-----------+----------------------+--------------------+------------+
-|    1 | Abby     | Senior    | President            | Board of Directors | 
1999-11-13 |
-|    2 | Bob      | Senior    | Vice-President       | Board of Directors | 
1999-11-13 |
-|    3 | Candy    | Senior    | System Engineer      | Technology         | 
2005-03-07 |
-|    4 | Devere   | Senior    | Hardware Engineer    | Technology         | 
2006-07-09 |
-|    5 | Emilie   | Senior    | System Analyst       | Technology         | 
2003-08-28 |
-|    6 | Fredrick | Senior    | Sales Manager        | Sales              | 
2004-09-07 |
-|    7 | Gitel    | Assistant | Business Executive   | Sales              | 
2003-03-19 |
-|    8 | Haden    | Trainee   | Sales Assistant      | Sales              | 
2007-06-30 |
-|    9 | Irene    | Assistant | Business Executive   | Sales              | 
2005-10-20 |
-|   10 | Jankin   | Senior    | Marketing Supervisor | Marketing          | 
2001-04-13 |
-|   11 | Louis    | Trainee   | Marketing Assistant  | Marketing          | 
2007-08-02 |
-|   12 | Martin   | Trainee   | Marketing Assistant  | Marketing          | 
2007-07-01 |
-|   13 | Nasir    | Assistant | Marketing Executive  | Marketing          | 
2004-09-03 |
-+------+----------+-----------+----------------------+--------------------+------------+
-13 rows in set (0.01 sec)
-```
-
-#### A. Using GROUPING_ID to identify grouping levels
-
-下面的例子按部门和职级统计雇员的人数。GROUPING_ID() 函数被用来计算每一行的聚合程度,其结果放在 `Job Title` 这一列上。
+下面的例子按部门和职级统计雇员人数,并使用 GROUPING_ID 函数计算每一行的聚合程度。
 
 ```sql
 SELECT
   department,
   CASE 
-       WHEN GROUPING_ID(department, level) = 0 THEN level
-       WHEN GROUPING_ID(department, level) = 1 THEN CONCAT('Total: ', 
department)
-       WHEN GROUPING_ID(department, level) = 3 THEN 'Total: Company'
-       ELSE 'Unknown'
+    WHEN GROUPING_ID(department, level) = 0 THEN level
+    WHEN GROUPING_ID(department, level) = 1 THEN CONCAT('Total: ', department)
+    WHEN GROUPING_ID(department, level) = 3 THEN 'Total: Company'
+    ELSE 'Unknown'
   END AS 'Job Title',
   COUNT(uid) AS 'Employee Count'
 FROM employee 
 GROUP BY ROLLUP(department, level)
 ORDER BY GROUPING_ID(department, level) ASC;
 ```
 
-结果如下:
+#### 结果

Review Comment:
   加粗即可



##########
i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/aggregate-functions/grouping-id.md:
##########
@@ -195,29 +85,28 @@ ORDER BY GROUPING_ID(department, level) ASC;
 | Marketing          | Total: Marketing          |              4 |
 | NULL               | Total: Company            |             13 |
 +--------------------+---------------------------+----------------+
-13 rows in set (0.01 sec)
 ```
 
-#### B. Using GROUPING_ID to filter a result set
+### 示例 B: 过滤结果集
 
-在下面的代码中,将返回部门中的高级人员的行。
+下面的例子返回部门中级别为 "Senior" 的雇员统计数据。
 
 ```sql
 SELECT
   department,
   CASE 
-       WHEN GROUPING_ID(department, level) = 0 THEN level
-       WHEN GROUPING_ID(department, level) = 1 THEN CONCAT('Total: ', 
department)
-       WHEN GROUPING_ID(department, level) = 3 THEN 'Total: Company'
-       ELSE 'Unknown'
+    WHEN GROUPING_ID(department, level) = 0 THEN level
+    WHEN GROUPING_ID(department, level) = 1 THEN CONCAT('Total: ', department)
+    WHEN GROUPING_ID(department, level) = 3 THEN 'Total: Company'
+    ELSE 'Unknown'
   END AS 'Job Title',
   COUNT(uid)
 FROM employee 
 GROUP BY ROLLUP(department, level)
 HAVING `Job Title` IN ('Senior');
 ```
 
-结果如下:
+#### 结果

Review Comment:
   同上 加粗即可



##########
docs/sql-manual/sql-functions/aggregate-functions/grouping.md:
##########
@@ -26,28 +26,29 @@ under the License.
 
 ## GROUPING

Review Comment:
   标题已经有了,不需要二级标题再写一次



##########
i18n/zh-CN/docusaurus-plugin-content-docs/version-2.0/sql-manual/sql-functions/aggregate-functions/grouping-id.md:
##########
@@ -195,29 +85,28 @@ ORDER BY GROUPING_ID(department, level) ASC;
 | Marketing          | Total: Marketing          |              4 |
 | NULL               | Total: Company            |             13 |
 +--------------------+---------------------------+----------------+
-13 rows in set (0.01 sec)
 ```
 
-#### B. Using GROUPING_ID to filter a result set
+### 示例 B: 过滤结果集
 
-在下面的代码中,将返回部门中的高级人员的行。
+下面的例子返回部门中级别为 "Senior" 的雇员统计数据。
 
 ```sql
 SELECT
   department,
   CASE 
-       WHEN GROUPING_ID(department, level) = 0 THEN level
-       WHEN GROUPING_ID(department, level) = 1 THEN CONCAT('Total: ', 
department)
-       WHEN GROUPING_ID(department, level) = 3 THEN 'Total: Company'
-       ELSE 'Unknown'
+    WHEN GROUPING_ID(department, level) = 0 THEN level
+    WHEN GROUPING_ID(department, level) = 1 THEN CONCAT('Total: ', department)
+    WHEN GROUPING_ID(department, level) = 3 THEN 'Total: Company'
+    ELSE 'Unknown'
   END AS 'Job Title',
   COUNT(uid)
 FROM employee 
 GROUP BY ROLLUP(department, level)
 HAVING `Job Title` IN ('Senior');
 ```
 
-结果如下:
+#### 结果

Review Comment:
   加粗即可



##########
i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/sql-manual/sql-functions/aggregate-functions/grouping-id.md:
##########
@@ -42,140 +36,36 @@ GROUPING_ID ( <column_expression>[ ,...n ] )
 
 ## 参数
 
-`<column_expression>`
-
-是在 `GROUP BY` 子句中包含的列或表达式。
-
-#### Return Type
-
-BIGINT
-
-#### Remarks
-
-GROUPING_ID 函数的入参 `<column_expression>` 必须和 `GROUP BY` 子句的表达式一致。比如说,如果你按 
`user_id` 进行 `GROUP BY`,那么你的 GROUPING_ID 函数应该这么写:`GROUPING_ID 
(user_id)`。再比如说,你按 `name` 进行 `GROUP BY`,那么函数应该这么写:`GROUPING_ID (name)`。
-
-#### Comparing GROUPING_ID() to GROUPING()
+| 参数                  | 说明                                           |
+|-----------------------|------------------------------------------------|
+| `<column_expression>` | 在 GROUP BY 子句中包含的列或表达式,可以指定多个参数。 |
 
-`GROUPING_ID(<column_expression> [ ,...n ])` 
的计算规则为,对于输入的字段(或表达式)列表,分别对每个字段(或表达式)进行 `GROUPING(<column_expression>)` 
运算,得到的结果组成一个 01 串。这个 01 串实际上是二进制数,GROUPING_ID 函数会将其转化为十进制数返回。比如说,以 `SELECT a, 
b, c, SUM(d), GROUPING_ID(a,b,c) FROM T GROUP BY <group by list>` 语句为例,下面展示了 
GROUPING_ID() 函数的输入和输出。
+## 返回值
 
-| Columns aggregated | GROUPING_ID (a, b, c) input = GROUPING(a) + GROUPING(b) 
+ GROUPING(c) | GROUPING_ID () output |
-| ------------------ | 
------------------------------------------------------------ | 
--------------------- |
-| `a`                | `100`                                                   
     | `4`                   |
-| `b`                | `010`                                                   
     | `2`                   |
-| `c`                | `001`                                                   
     | `1`                   |
-| `ab`               | `110`                                                   
     | `6`                   |
-| `ac`               | `101`                                                   
     | `5`                   |
-| `bc`               | `011`                                                   
     | `3`                   |
-| `abc`              | `111`                                                   
     | `7`                   |
+返回一个 BIGINT 值,表示各分组列的聚合情况对应的二进制位图转换为十进制后的结果。
 
-#### Technical Definition of GROUPING_ID()
+## 示例
 
-GROUPING_ID 函数的入参必须是 GROUP BY 子句中的字段(或字段表达式)。GROUPING_ID() 
函数返回一个整数位图,位图中的每一位均与 GROUP BY 子句中的字段(或字段表达式)一一对应,位图中的最低位代表第 N 个参数,第二低位代表第 N-1 
个参数,以此类推。当某一位被置为 1 时,表示其对应的列不参与分组聚合。
+### 示例 A: 识别分组层级
 
-#### GROUPING_ID() Equivalents
-
-对于多个字段(或字段表达式)进行分组查询时,以下两个声明是等价的:
-
-声明 A:
-
-```sql
-SELECT GROUPING_ID(A,B)  
-FROM T   
-GROUP BY CUBE(A,B)
-```
-
-声明 B:
-
-```sql
-SELECT 3 FROM T GROUP BY ()  
-UNION ALL  
-SELECT 1 FROM T GROUP BY A  
-UNION ALL  
-SELECT 2 FROM T GROUP BY B  
-UNION ALL  
-SELECT 0 FROM T GROUP BY A,B
-```
-
-对于只对一个字段(或字段表达式)进行分组查询,`GROUPING (<column_expression>)` 和 
`GROUPING_ID(<column_expression>)` 是等价对。
-
-## 举例
-
-在开始我们的例子之前,我们先准备好以下数据:
-
-```sql
-CREATE TABLE employee (
-  uid        INT,
-  name       VARCHAR(32),
-  level      VARCHAR(32),
-  title      VARCHAR(32),
-  department VARCHAR(32),
-  hiredate   DATE
-)
-UNIQUE KEY(uid)
-DISTRIBUTED BY HASH(uid) BUCKETS 1
-PROPERTIES (
-  "replication_num" = "1"
-);
-
-INSERT INTO employee VALUES
-  (1, 'Abby', 'Senior', 'President', 'Board of Directors', '1999-11-13'),
-  (2, 'Bob', 'Senior', 'Vice-President', 'Board of Directors', '1999-11-13'),
-  (3, 'Candy', 'Senior', 'System Engineer', 'Technology', '2005-3-7'),
-  (4, 'Devere', 'Senior', 'Hardware Engineer', 'Technology', '2006-7-9'),
-  (5, 'Emilie', 'Senior', 'System Analyst', 'Technology', '2003-8-28'),
-  (6, 'Fredrick', 'Senior', 'Sales Manager', 'Sales', '2004-9-7'),
-  (7, 'Gitel', 'Assistant', 'Business Executive', 'Sales', '2003-3-19'),
-  (8, 'Haden', 'Trainee', 'Sales Assistant', 'Sales', '2007-6-30'),
-  (9, 'Irene', 'Assistant', 'Business Executive', 'Sales', '2005-10-20'),
-  (10, 'Jankin', 'Senior', 'Marketing Supervisor', 'Marketing', '2001-4-13'),
-  (11, 'Louis', 'Trainee', 'Marketing Assistant', 'Marketing', '2007-8-2'),
-  (12, 'Martin', 'Trainee', 'Marketing Assistant', 'Marketing', '2007-7-1'),
-  (13, 'Nasir', 'Assistant', 'Marketing Executive', 'Marketing', '2004-9-3');
-```
-
-结果如下:
-
-```text
-+------+----------+-----------+----------------------+--------------------+------------+
-| uid  | name     | level     | title                | department         | 
hiredate   |
-+------+----------+-----------+----------------------+--------------------+------------+
-|    1 | Abby     | Senior    | President            | Board of Directors | 
1999-11-13 |
-|    2 | Bob      | Senior    | Vice-President       | Board of Directors | 
1999-11-13 |
-|    3 | Candy    | Senior    | System Engineer      | Technology         | 
2005-03-07 |
-|    4 | Devere   | Senior    | Hardware Engineer    | Technology         | 
2006-07-09 |
-|    5 | Emilie   | Senior    | System Analyst       | Technology         | 
2003-08-28 |
-|    6 | Fredrick | Senior    | Sales Manager        | Sales              | 
2004-09-07 |
-|    7 | Gitel    | Assistant | Business Executive   | Sales              | 
2003-03-19 |
-|    8 | Haden    | Trainee   | Sales Assistant      | Sales              | 
2007-06-30 |
-|    9 | Irene    | Assistant | Business Executive   | Sales              | 
2005-10-20 |
-|   10 | Jankin   | Senior    | Marketing Supervisor | Marketing          | 
2001-04-13 |
-|   11 | Louis    | Trainee   | Marketing Assistant  | Marketing          | 
2007-08-02 |
-|   12 | Martin   | Trainee   | Marketing Assistant  | Marketing          | 
2007-07-01 |
-|   13 | Nasir    | Assistant | Marketing Executive  | Marketing          | 
2004-09-03 |
-+------+----------+-----------+----------------------+--------------------+------------+
-13 rows in set (0.01 sec)
-```
-
-#### A. Using GROUPING_ID to identify grouping levels
-
-下面的例子按部门和职级统计雇员的人数。GROUPING_ID() 函数被用来计算每一行的聚合程度,其结果放在 `Job Title` 这一列上。
+下面的例子按部门和职级统计雇员人数,并使用 GROUPING_ID 函数计算每一行的聚合程度。
 
 ```sql
 SELECT
   department,
   CASE 
-       WHEN GROUPING_ID(department, level) = 0 THEN level
-       WHEN GROUPING_ID(department, level) = 1 THEN CONCAT('Total: ', 
department)
-       WHEN GROUPING_ID(department, level) = 3 THEN 'Total: Company'
-       ELSE 'Unknown'
+    WHEN GROUPING_ID(department, level) = 0 THEN level
+    WHEN GROUPING_ID(department, level) = 1 THEN CONCAT('Total: ', department)
+    WHEN GROUPING_ID(department, level) = 3 THEN 'Total: Company'
+    ELSE 'Unknown'
   END AS 'Job Title',
   COUNT(uid) AS 'Employee Count'
 FROM employee 
 GROUP BY ROLLUP(department, level)
 ORDER BY GROUPING_ID(department, level) ASC;
 ```
 
-结果如下:
+#### 结果

Review Comment:
   加粗即可



##########
i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-functions/aggregate-functions/grouping-id.md:
##########
@@ -42,140 +36,36 @@ GROUPING_ID ( <column_expression>[ ,...n ] )
 
 ## 参数
 
-`<column_expression>`
-
-是在 `GROUP BY` 子句中包含的列或表达式。
-
-#### Return Type
-
-BIGINT
-
-#### Remarks
-
-GROUPING_ID 函数的入参 `<column_expression>` 必须和 `GROUP BY` 子句的表达式一致。比如说,如果你按 
`user_id` 进行 `GROUP BY`,那么你的 GROUPING_ID 函数应该这么写:`GROUPING_ID 
(user_id)`。再比如说,你按 `name` 进行 `GROUP BY`,那么函数应该这么写:`GROUPING_ID (name)`。
-
-#### Comparing GROUPING_ID() to GROUPING()
+| 参数                  | 说明                                           |
+|-----------------------|------------------------------------------------|
+| `<column_expression>` | 在 GROUP BY 子句中包含的列或表达式,可以指定多个参数。 |
 
-`GROUPING_ID(<column_expression> [ ,...n ])` 
的计算规则为,对于输入的字段(或表达式)列表,分别对每个字段(或表达式)进行 `GROUPING(<column_expression>)` 
运算,得到的结果组成一个 01 串。这个 01 串实际上是二进制数,GROUPING_ID 函数会将其转化为十进制数返回。比如说,以 `SELECT a, 
b, c, SUM(d), GROUPING_ID(a,b,c) FROM T GROUP BY <group by list>` 语句为例,下面展示了 
GROUPING_ID() 函数的输入和输出。
+## 返回值
 
-| Columns aggregated | GROUPING_ID (a, b, c) input = GROUPING(a) + GROUPING(b) 
+ GROUPING(c) | GROUPING_ID () output |
-| ------------------ | 
------------------------------------------------------------ | 
--------------------- |
-| `a`                | `100`                                                   
     | `4`                   |
-| `b`                | `010`                                                   
     | `2`                   |
-| `c`                | `001`                                                   
     | `1`                   |
-| `ab`               | `110`                                                   
     | `6`                   |
-| `ac`               | `101`                                                   
     | `5`                   |
-| `bc`               | `011`                                                   
     | `3`                   |
-| `abc`              | `111`                                                   
     | `7`                   |
+返回一个 BIGINT 值,表示各分组列的聚合情况对应的二进制位图转换为十进制后的结果。
 
-#### Technical Definition of GROUPING_ID()
+## 示例
 
-GROUPING_ID 函数的入参必须是 GROUP BY 子句中的字段(或字段表达式)。GROUPING_ID() 
函数返回一个整数位图,位图中的每一位均与 GROUP BY 子句中的字段(或字段表达式)一一对应,位图中的最低位代表第 N 个参数,第二低位代表第 N-1 
个参数,以此类推。当某一位被置为 1 时,表示其对应的列不参与分组聚合。
+### 示例 A: 识别分组层级
 
-#### GROUPING_ID() Equivalents
-
-对于多个字段(或字段表达式)进行分组查询时,以下两个声明是等价的:
-
-声明 A:
-
-```sql
-SELECT GROUPING_ID(A,B)  
-FROM T   
-GROUP BY CUBE(A,B)
-```
-
-声明 B:
-
-```sql
-SELECT 3 FROM T GROUP BY ()  
-UNION ALL  
-SELECT 1 FROM T GROUP BY A  
-UNION ALL  
-SELECT 2 FROM T GROUP BY B  
-UNION ALL  
-SELECT 0 FROM T GROUP BY A,B
-```
-
-对于只对一个字段(或字段表达式)进行分组查询,`GROUPING (<column_expression>)` 和 
`GROUPING_ID(<column_expression>)` 是等价对。
-
-## 举例
-
-在开始我们的例子之前,我们先准备好以下数据:
-
-```sql
-CREATE TABLE employee (
-  uid        INT,
-  name       VARCHAR(32),
-  level      VARCHAR(32),
-  title      VARCHAR(32),
-  department VARCHAR(32),
-  hiredate   DATE
-)
-UNIQUE KEY(uid)
-DISTRIBUTED BY HASH(uid) BUCKETS 1
-PROPERTIES (
-  "replication_num" = "1"
-);
-
-INSERT INTO employee VALUES
-  (1, 'Abby', 'Senior', 'President', 'Board of Directors', '1999-11-13'),
-  (2, 'Bob', 'Senior', 'Vice-President', 'Board of Directors', '1999-11-13'),
-  (3, 'Candy', 'Senior', 'System Engineer', 'Technology', '2005-3-7'),
-  (4, 'Devere', 'Senior', 'Hardware Engineer', 'Technology', '2006-7-9'),
-  (5, 'Emilie', 'Senior', 'System Analyst', 'Technology', '2003-8-28'),
-  (6, 'Fredrick', 'Senior', 'Sales Manager', 'Sales', '2004-9-7'),
-  (7, 'Gitel', 'Assistant', 'Business Executive', 'Sales', '2003-3-19'),
-  (8, 'Haden', 'Trainee', 'Sales Assistant', 'Sales', '2007-6-30'),
-  (9, 'Irene', 'Assistant', 'Business Executive', 'Sales', '2005-10-20'),
-  (10, 'Jankin', 'Senior', 'Marketing Supervisor', 'Marketing', '2001-4-13'),
-  (11, 'Louis', 'Trainee', 'Marketing Assistant', 'Marketing', '2007-8-2'),
-  (12, 'Martin', 'Trainee', 'Marketing Assistant', 'Marketing', '2007-7-1'),
-  (13, 'Nasir', 'Assistant', 'Marketing Executive', 'Marketing', '2004-9-3');
-```
-
-结果如下:
-
-```text
-+------+----------+-----------+----------------------+--------------------+------------+
-| uid  | name     | level     | title                | department         | 
hiredate   |
-+------+----------+-----------+----------------------+--------------------+------------+
-|    1 | Abby     | Senior    | President            | Board of Directors | 
1999-11-13 |
-|    2 | Bob      | Senior    | Vice-President       | Board of Directors | 
1999-11-13 |
-|    3 | Candy    | Senior    | System Engineer      | Technology         | 
2005-03-07 |
-|    4 | Devere   | Senior    | Hardware Engineer    | Technology         | 
2006-07-09 |
-|    5 | Emilie   | Senior    | System Analyst       | Technology         | 
2003-08-28 |
-|    6 | Fredrick | Senior    | Sales Manager        | Sales              | 
2004-09-07 |
-|    7 | Gitel    | Assistant | Business Executive   | Sales              | 
2003-03-19 |
-|    8 | Haden    | Trainee   | Sales Assistant      | Sales              | 
2007-06-30 |
-|    9 | Irene    | Assistant | Business Executive   | Sales              | 
2005-10-20 |
-|   10 | Jankin   | Senior    | Marketing Supervisor | Marketing          | 
2001-04-13 |
-|   11 | Louis    | Trainee   | Marketing Assistant  | Marketing          | 
2007-08-02 |
-|   12 | Martin   | Trainee   | Marketing Assistant  | Marketing          | 
2007-07-01 |
-|   13 | Nasir    | Assistant | Marketing Executive  | Marketing          | 
2004-09-03 |
-+------+----------+-----------+----------------------+--------------------+------------+
-13 rows in set (0.01 sec)
-```
-
-#### A. Using GROUPING_ID to identify grouping levels
-
-下面的例子按部门和职级统计雇员的人数。GROUPING_ID() 函数被用来计算每一行的聚合程度,其结果放在 `Job Title` 这一列上。
+下面的例子按部门和职级统计雇员人数,并使用 GROUPING_ID 函数计算每一行的聚合程度。
 
 ```sql
 SELECT
   department,
   CASE 
-       WHEN GROUPING_ID(department, level) = 0 THEN level
-       WHEN GROUPING_ID(department, level) = 1 THEN CONCAT('Total: ', 
department)
-       WHEN GROUPING_ID(department, level) = 3 THEN 'Total: Company'
-       ELSE 'Unknown'
+    WHEN GROUPING_ID(department, level) = 0 THEN level
+    WHEN GROUPING_ID(department, level) = 1 THEN CONCAT('Total: ', department)
+    WHEN GROUPING_ID(department, level) = 3 THEN 'Total: Company'
+    ELSE 'Unknown'
   END AS 'Job Title',
   COUNT(uid) AS 'Employee Count'
 FROM employee 
 GROUP BY ROLLUP(department, level)
 ORDER BY GROUPING_ID(department, level) ASC;
 ```
 
-结果如下:
+#### 结果

Review Comment:
   加粗即可,建议不用四级标题



##########
i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/sql-manual/sql-functions/aggregate-functions/grouping-id.md:
##########
@@ -195,29 +85,28 @@ ORDER BY GROUPING_ID(department, level) ASC;
 | Marketing          | Total: Marketing          |              4 |
 | NULL               | Total: Company            |             13 |
 +--------------------+---------------------------+----------------+
-13 rows in set (0.01 sec)
 ```
 
-#### B. Using GROUPING_ID to filter a result set
+### 示例 B: 过滤结果集
 
-在下面的代码中,将返回部门中的高级人员的行。
+下面的例子返回部门中级别为 "Senior" 的雇员统计数据。
 
 ```sql
 SELECT
   department,
   CASE 
-       WHEN GROUPING_ID(department, level) = 0 THEN level
-       WHEN GROUPING_ID(department, level) = 1 THEN CONCAT('Total: ', 
department)
-       WHEN GROUPING_ID(department, level) = 3 THEN 'Total: Company'
-       ELSE 'Unknown'
+    WHEN GROUPING_ID(department, level) = 0 THEN level
+    WHEN GROUPING_ID(department, level) = 1 THEN CONCAT('Total: ', department)
+    WHEN GROUPING_ID(department, level) = 3 THEN 'Total: Company'
+    ELSE 'Unknown'
   END AS 'Job Title',
   COUNT(uid)
 FROM employee 
 GROUP BY ROLLUP(department, level)
 HAVING `Job Title` IN ('Senior');
 ```
 
-结果如下:
+#### 结果

Review Comment:
   加粗即可



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org
For additional commands, e-mail: commits-h...@doris.apache.org

Reply via email to