You need to enable JavaScript to run this app.
导航

聚合函数

最近更新时间2024.01.30 10:05:13

首次发布时间2022.05.11 11:26:49

本文介绍日志服务支持的聚合函数语法及常见场景的聚合函数示例。

注意

日志服务产品架构升级,支持更丰富的检索分析功能。

  • 如果控制台提示新一代架构正式发布信息,表示您使用的是 2.0 架构,可参考检索分析(2.0 架构)中的检索概述等文档使用相关功能。
  • 如果控制台未提示新一代架构正式发布信息,表示您使用的是 1.0 架构,可参考本文档使用相关功能。

关于 1.0 架构与 2.0 架构的具体说明,请参考日志服务架构升级通知

语法说明

聚合函数是对一组值执行计算并返回单一的值的函数,它经常与 SELECT 语句的 GROUP BY 子句一同使用。日志服务支持的聚合函数如下:

说明

  • KEY 为日志中的某一字段名称。
  • 不支持 COUNT(1),请使用 COUNT(*)
  • maxmin 函数应作用于 Double 类型的字段。对于绝对值大于 2^53 的 Long 类型字段,使用 maxmin 函数可能造成查询结果不精确的现象。

函数名

说明

arbitrary(KEY)

返回 KEY 字段中任意一个非空的值。

AVG(KEY)

计算 KEY 字段的算数平均值。

COUNT(*)

表示所有的行数,即统计所有的日志数量。

COUNT(KEY)

统计 KEY 字段中不为 null 的行数。

MAX(KEY)

查询 KEY 字段中的最大值。

MIN(KEY)

查询 KEY 字段中的最小值。

SUM(KEY)

统计 KEY 字段中所有值的和。

示例

函数名

说明

示例 SQL

arbitrary(KEY)

获取 response_time 字段中任意一个非空的字段值。

* | SELECT arbitrary(response_time) AS response_time

AVG(KEY)

计算请求平均响应时间。

* | SELECT AVG(response_time)

COUNT(*)

计算状态为 error 的行数。

* | SELECT COUNT(*) WHERE status='error'

COUNT(KEY)

计算响应时间大于 5.0 秒的请求的个数。

* | SELECT COUNT(response_time) WHERE response_time > 5.0

MAX(KEY)

计算响应时间最大值。

* | SELECT MAX(response_time) AS max_response_time

MIN(KEY)

计算响应时间最小值。

* | SELECT MIN(response_time) AS min_response_time

SUM(KEY)

计算商品的总数量。

* | SELECT SUM(num) AS total