GROUP BY
SQL 中的 GROUP BY 语句用于对具有一个或多个列中的相同值的行进行分组。
该子句通常与聚合函数(如 COUNT、SUM、AVG 等)一起使用,以生成汇总报表。
Syntax
GROUP BY 的基本语法如下:
SELECT column1, column2, ..., aggregate_function(column_name)
FROM table_name
GROUP BY column1, column2, ...;
GROUP BY 语句根据子句中指定的列对结果集进行分组。
聚合函数应用于具有相同值的组。
示例
假设有如下名为 system_metrics 的表:
+-------+-------+----------+-------------+-----------+---------------------+
| host  | idc   | cpu_util | memory_util | disk_util | ts                  |
+-------+-------+----------+-------------+-----------+---------------------+
| host1 | idc_a |     11.8 |        10.3 |      10.3 | 2022-11-03 03:39:57 |
| host1 | idc_b |       50 |        66.7 |      40.6 | 2022-11-03 03:39:57 |
| host1 | idc_c |     50.1 |        66.8 |      40.8 | 2022-11-03 03:39:57 |
| host1 | idc_e |     NULL |        66.7 |      40.6 | 2022-11-03 03:39:57 |
| host2 | idc_a |     80.1 |        70.3 |        90 | 2022-11-03 03:39:57 |
+-------+-------+----------+-------------+-----------+---------------------+