GROUP BY 用于结合聚合函数,根据一个或多个字段对检索分析结果进行分组。本文介绍 GROUP BY 语法格式和示例。
GROUP BY 语法的格式如下。
* | SELECT Key, 聚合函数 GROUP BY [ Key | Alias | number ]
参数说明:
参数 | 说明 |
---|---|
Key | 日志中的字段名称或聚合函数的计算结果列,支持按单列或多列分组。 |
Alias | Alias 即别名,在此表示根据日志字段或聚合函数计算结果的别名进行分组。 |
number | 某个字段在 SELECT 语句中的序号,从 1 开始计数。 |
聚合函数 | 通常情况下,GROUP BY 语法可以与多个聚合函数搭配使用,例如 MIN、MAX、AVG、SUM、COUNT 等函数。 |
说明
在日志服务中,如果您使用了 GROUP BY 语法,则在 SELECT 语句中,只能添加聚合函数或 GROUP BY 的列,不支持添加非 GROUP BY 的列。例如根据 status 进行分组时,检索分析语句不可指定为 * | SELECT status, request_method, COUNT(*) AS PV GROUP BY status
,因为 request_method
不是 GROUP BY 的列。正确语句为 * | SELECT status, COUNT(*) AS PV GROUP BY status
。
场景
统计不同请求方法对应的请求次数。
检索分析语句
* | SELECT method, count(*) AS PV GROUP BY method
检索分析结果
场景
统计每个用户使用不同请求方法发起请求的次数。
检索分析语句
* | SELECT UID, Method, COUNT(*) AS total GROUP BY UID, Method ORDER BY UID ASC, Method Desc Limit 1000
检索分析结果