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

聚合函数

最近更新时间2024.04.19 11:08:49

首次发布时间2024.01.22 17:18:37

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

注意

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

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

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

函数列表

说明

在日志服务分析语句(SQL 语句)中,需要使用单引号('')包裹代表字符串的字符,无符号包裹或被双引号("")包裹的字符为字段名或列名。例如'time' 代表字符串,time"time" 代表字段名或列名。

函数名称

函数语法

说明

ARBITRARY 函数

ARBITRARY(KEY)

返回一组值中任意一个非空的值。

AVG 函数

AVG(KEY)

计算一组值的算数平均值。

BITWISE_AND_AGG 函数

BITWISE_AND_AGG(KEY)

计算一组值中所有值按位与运算(AND)的结果。

BITWISE_OR_AGG 函数

BITWISE_OR_AGG(KEY)

计算一组值中所有值按位或运算(OR)的结果。

BOOL_ADD 函数

BOOL_ADD(boolean_expression)

判断是否所有值都满足指定的布尔表达式。

BOOL_OR 函数

BOOL_OR(boolean_expression)

判断是否存在值满足指定的布尔表达式。

CHECKSUM 函数

CHECKSUM(KEY)

计算一组值的校验和。

COUNT 函数

COUNT(*)

计算一组值的数量。

COUNT(1)

计算一组值的数量,等同于 COUNT(*)。

COUNT(KEY)

计算一组值中不为 NULL 的值的数量。

COUNT_IF 函数

COUNT_IF (Boolean Expression)

计算一组值中满足指定条件的值的数量。

EVERY 函数

EVERY(boolean_expression)

判断是否所有值都满足指定的布尔表达式。

GEOMETRIC_MEAN 函数

GEOMETRIC_MEAN(KEY)

计算一组值的几何平均数。

KURTOSIS 函数

KURTOSIS(KEY)

计算一组值的峰值。

MAX 函数

MAX(KEY)

查询一组值中的最大值。

MIN 函数

MIN(KEY)

查询一组值中的最小值。

SUM 函数

SUM(KEY)

计算一组值的总和。

ARBITRARY 函数

ARBITRARY 函数用于返回一组值中任意一个非空的值。

函数语法

  • 语法格式

    ARBITRARY(KEY)
    
  • 参数说明

    参数

    说明

    KEY

    日志字段、表达式,其值为任意数据类型。

  • 返回值说明
    返回值与参数值的数据类型一致。

函数示例

  • 场景
    获取 ReqTime 字段中任意一个非空的值。

  • 日志样例
    图片

  • 检索和分析语句

    * | SELECT ARBITRARY(ReqTime) AS ReqTime
    
  • 检索和分析结果
    图片

AVG 函数

AVG 函数用于计算一组值的算数平均值。

函数语法

  • 语法格式

    AVG(KEY)
    
  • 参数说明

    参数

    说明

    KEY

    字段、表达式,其值为 Double、Bigint、Decimal 或 Real 数据类型。

  • 返回值说明
    返回值为 Double 类型。

函数示例

  • 场景
    计算平均请求时间。

  • 日志样例
    图片

  • 检索和分析语句

    * | SELECT AVG(ReqTime)
    
  • 检索和分析结果
    图片

BITWISE_AND_AGG 函数

BITWISE_AND_AGG 函数用于计算一组值中所有值按位与运算(AND)的结果。

函数语法

  • 语法格式

    BITWISE_AND_AGG(KEY)
    
  • 参数说明

    参数

    说明

    KEY

    日志字段、表达式,其值为 Bigint 数据类型。

  • 返回值说明
    返回值为 Bigint 类型(二进制形式)。

函数示例

  • 场景
    status 列的所有值进行按位与运算。

  • 日志样例
    图片

  • 检索和分析语句

    * | SELECT BITWISE_AND_AGG(status)
    
  • 检索和分析结果
    图片

BITWISE_OR_AGG 函数

BITWISE_OR_AGG 函数用于计算一组值中所有值按位或运算(OR)的结果。

函数语法

  • 语法格式

    BITWISE_OR_AGG(KEY)
    
  • 参数说明

    参数

    说明

    KEY

    日志字段、表达式,其值为 Bigint 数据类型。

  • 返回值说明
    返回值为 Bigint 类型(二进制形式)。

函数示例

  • 场景
    status 列的所有值进行按位或运算。

  • 日志样例
    图片

  • 检索和分析语句

    * | SELECT BITWISE_OR_AGG(status)
    
  • 检索和分析结果
    图片

BOOL_ADD 函数

BOOL_ADD 函数用于判断是否所有值都满足指定的布尔表达式。

函数语法

  • 语法格式

    BOOL_ADD(boolean_expression)
    
  • 参数说明

    参数

    说明

    boolean_expression

    布尔表达式。

  • 返回值说明
    返回值为 Boolean 类型。

函数示例

  • 场景
    判断 status 字段值是否都为 200。如果不是,则返回 false。

  • 日志样例
    图片

  • 检索和分析语句

    * | SELECT BOOL_AND(status = 200)
    
  • 检索和分析结果
    图片

BOOL_OR 函数

BOOL_OR 函数用于判断是否存在值满足指定的布尔表达式。

函数语法

  • 语法格式

    BOOL_OR(boolean_expression)
    
  • 参数说明

    参数

    说明

    boolean_expression

    布尔表达式。

  • 返回值说明
    返回值为 Boolean 类型。

函数示例

  • 场景
    判断是否存在小于 20 的 RespSize 字段值。如果是,则返回 true。

  • 日志样例
    图片

  • 检索和分析语句

    * | SELECT BOOL_AND(RespSize < 20)
    
  • 检索和分析结果
    图片

CHECKSUM 函数

CHECKSUM 函数用于计算一组值的校验和。

函数语法

  • 语法格式

    CHECKSUM(KEY)
    
  • 参数说明

    参数

    说明

    KEY

    日志字段、表达式,其值为任意数据类型。

  • 返回值说明
    返回值为 String 类型(BASE64 编码)。

函数示例

  • 场景
    计算 url_test 字段值的校验和。

  • 日志样例

  • 检索和分析语句

    * | SELECT CHECKSUM(url_test) AS request_method
    
  • 检索和分析结果

COUNT 函数

COUNT 函数用于计算一组值的数量。

函数语法

  • 语法格式

    • 计算一组值的数量。

      COUNT(*)
      
    • 计算一组值的数量,等同于COUNT(*)。

      COUNT(1)
      
    • 计算一组值中不为 NULL 的值的数量。

      COUNT(KEY)
      
  • 参数说明

    参数

    说明

    KEY

    日志字段、表达式,其值为任意数据类型。

  • 返回值说明
    返回值为 Integer 类型。

函数示例

  • 场景
    计算请求时间大于 40.0 豪秒的请求个数。

  • 日志样例
    图片

  • 检索和分析语句

    * | SELECT COUNT(ReqTime) WHERE ReqTime > 40.0
    
  • 检索和分析结果
    图片

COUNT_IF 函数

COUNT_IF 函数用于计算一组值中满足指定条件的值的数量。

函数语法

  • 语法格式

    COUNT_IF (Boolean Expression)
    
  • 参数说明

    参数

    说明

    Boolean Expression

    布尔表达式。

  • 返回值说明
    返回值类型为 Integer 类型。

函数示例

  • 场景
    统计 url_test 字段值是以 name=xxx 结尾的日志条数。

  • 日志样例

  • 检索和分析语句

    * | SELECT COUNT_IF(url_test LIKE '%name=xxx') AS count
    
  • 检索和分析结果

EVERY 函数

EVERY 函数用于判断是否所有值都满足指定的布尔表达式,等同于BOOL_ADD 函数

函数语法

  • 语法格式

    EVERY(boolean_expression)
    
  • 参数说明

    参数

    说明

    boolean_expression

    布尔表达式。

  • 返回值说明
    返回值为 Boolean 类型。

函数示例

  • 场景
    判断 status 字段值是否都为 200。如果不是,则返回 false。

  • 日志样例
    图片

  • 检索和分析语句

    * | SELECT EVERY(status = 200)
    
  • 检索和分析结果
    图片

GEOMETRIC_MEAN 函数

GEOMETRIC_MEAN 函数用于计算一组值的几何平均数。

函数语法

  • 语法格式

    GEOMETRIC_MEAN(KEY)
    
  • 参数说明

    参数

    说明

    KEY

    日志字段、表达式,其值为 Double、Bigint 或 Real 数据类型。

  • 返回值说明
    返回值为 Double 类型。

函数示例

  • 场景
    计算 status 字段值的几何平均数。

  • 日志样例
    图片

  • 检索和分析语句

    * | SELECT GEOMETRIC_MEAN(status)
    
  • 检索和分析结果
    图片

KURTOSIS 函数

KURTOSIS 函数用于计算一组值的峰度。

函数语法

  • 语法格式

    KURTOSIS(KEY)
    
  • 参数说明

    参数

    说明

    KEY

    日志字段、表达式,其值为 Double、Bigint 数据类型。

  • 返回值说明
    返回值为 Double 类型。

函数示例

  • 场景
    计算 status 字段值的峰度。

  • 日志样例
    图片

  • 检索和分析语句

    * | SELECT KURTOSIS(status)
    
  • 检索和分析结果
    图片

MAX 函数

MAX 函数用于查询一组值中的最大值。

函数语法

  • 语法格式

    MAX(KEY)
    
  • 参数说明

    参数

    说明

    KEY

    日志字段、表达式,其值为任意数据类型。

  • 返回值说明
    返回值与参数值的数据类型一致。

函数示例

  • 场景
    查询请求时间的最大值。

  • 日志样例
    图片

  • 检索和分析语句

    * | SELECT MAX(ReqTime) AS max_reqtime
    
  • 检索和分析结果
    图片

MIN 函数

MIN 函数用于查询一组值中的最小值。

函数语法

  • 语法格式

    MIN(KEY)
    
  • 参数说明

    参数

    说明

    KEY

    日志字段、表达式,其值为任意数据类型。

  • 返回值说明
    返回值与参数值的数据类型一致。

函数示例

  • 场景
    查询请求时间的最小值。

  • 日志样例
    图片

  • 检索和分析语句

    * | SELECT MIN(ReqTime) AS min_reqtime
    
  • 检索和分析结果
    图片

SUM 函数

SUM 函数用于计算一组值的总和。

函数语法

  • 语法格式

    SUM(KEY)
    
  • 参数说明

    参数

    说明

    KEY

    日志字段、表达式,其值为 Double、Bigint、Decimal 或 Real 数据类型。

  • 返回值说明
    返回值与参数值的数据类型一致。

函数示例

  • 场景
    计算总请求时间。

  • 日志样例
    图片

  • 检索和分析语句

    * | SELECT SUM(ReqTime) AS total
    
  • 检索和分析结果
    图片