GROUP BY子句

GROUP BY语句和SELECT语句一起使用,用来对相同的数据进行分组。您可以对一列或者多列进行分组,但是被分组的列必须存在。

语法格式

1. SELECT
2. { * | [column, ...] }
3. [ FROM from_item [, ...] ]
4. [ WHERE condition ]
5. [ GROUP BY grouping_element [, ...] ]
6. [ ORDER BY {expression [ ASC | DESC ] }];

参数说明

  • GROUP BY子句

将查询结果按某一列或多列的值分组,值相等的为一组。

GROUP BY在一个SELECT语句中,放在WHRER子句的后面,ORDER BY 句的前面。

示例

表customer_t1中存在重复的c_first_name,根据c_first_name字段分组,并求和Amount。

1. openGauss=# SELECT c_first_name, sum(Amount)  FROM customer_t1 GROUP BY c_first_name;
2. c_first_name | sum
3. --------------+------
4. James        | 5000
5. Grace        | 1000
6. Local        | 3000
7. |
8. Joes         | 2200
9. Lily         | 3000
10. (6 rows)