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)