聚合函数
更新时间 2025-11-11 16:22:30
最近更新时间: 2025-11-11 16:22:30
聚合函数是对日志的指定列进行的统计运算。聚合函数返回的是单个值,常与GROUP BY语句一起使用。本文介绍聚合函数的基本语法及示例。
函数列表
云日志服务支持如下表格所示聚合函数
| 函数名称 | 语法 | 说明 |
|---|---|---|
| arbitrary函数 | arbitrary(x) | 返回x中任意一个非空的值。 |
| avg函数 | avg(x) | 计算x中的算术平均值。 |
| count函数 | count(*)/count()/count(1)count(x) | 统计所有的日志条数。统计x中值不为NULL的日志条数。 |
| max函数 | max(x) | 查询x中的最大值。 |
| max_by函数 | max_by(x, y) | 查询y为最大值时对应的x值。 |
| min函数 | min(x) | 查询x中最小值。 |
| min_by函数 | min_by(x, y) | 查询y为最小值时对应的x值。 |
| sum函数 | sum(x) | 计算x的总和。 |
| skewness函数 | skewness(x) | 计算x的偏度。 |
| kurtosis函数 | kurtosis(x) | 计算x的峰度。 |
| count_if函数 | count_if(expr) | 统计满足指定条件的日志条数。 |
| bit_and函数 | bit_and(x) | 返回x中所有值按位与运算的结果。 |
| bit_or函数 | bit_or(x) | 返回x中所有值按位或运算的结果。 |
arbitrary函数
返回x中任意一个非空的值。
语法
arbitrary(x)参数说明
| 参数名称 | 说明 | 类型 | 是否必选 |
|---|---|---|---|
| x | 原始字段 | 任意数据类型 | 是 |
返回值类型
与参数值的数据类型一致
示例
| 类型 | 示例 |
|---|---|
| 统计分析语句 | SELECT arbitrary(hostName) |
| 返回结果 | www.test-001.com |
avg函数
计算x中的算术平均值。
语法
avg(x)参数说明
| 参数名称 | 说明 | 类型 | 是否必选 |
|---|---|---|---|
| x | 原始字段 | 数值类型 | 是 |
返回值类型
float类型
示例
| 类型 | 示例 |
|---|---|
| 统计分析语句 | SELECT avg(latency) |
| 返回结果 | 2.13 |
count函数
统计所有的日志条数,或统计x中值不为NULL的日志条数。
语法
统计所有的日志条数
count()
count(1)
count(*)统计x中值不为NULL的日志条数
count(x)参数说明
| 参数名称 | 说明 | 类型 | 是否必选 |
|---|---|---|---|
| x | 原始字段 | 任意数据类型 | 否 |
返回值类型
integer类型
示例
| 类型 | 示例 |
|---|---|
| 统计分析语句 | SELECT count(hostName) |
| 返回结果 | 1102325 |
max函数
查询x中的最大值。
语法
max(x)参数说明
| 参数名称 | 说明 | 类型 | 是否必选 |
|---|---|---|---|
| x | 原始字段 | 任意数据类型 | 是 |
返回值类型
与参数值x的数据类型一致
示例
| 类型 | 示例 |
|---|---|
| 统计分析语句 | SELECT max(latency) |
| 返回结果 | 89 |
max_by函数
查询y为最大值时对应的x值。
语法
max_by(x,y)参数说明
| 参数名称 | 说明 | 类型 | 是否必选 |
|---|---|---|---|
| x | 原始字段 | 任意数据类型 | 是 |
| y | 原始字段 | 任意数据类型 | 是 |
返回值类型
与参数值x的数据类型一致
示例
| 类型 | 示例 |
|---|---|
| 统计分析语句 | SELECT max_by(hostName, latency) |
| 返回结果 | www.test-023.com |
min函数
查询x中的最小值。
语法
min(x)参数说明
| 参数名称 | 说明 | 类型 | 是否必选 |
|---|---|---|---|
| x | 原始字段 | 任意数据类型 | 是 |
返回值类型
与参数值x的数据类型一致
示例
| 类型 | 示例 |
|---|---|
| 统计分析语句 | SELECT min(latency) |
| 返回结果 | 1.06 |
min_by函数
查询y为最小值时对应的x值。
语法
min_by(x,y)参数说明
| 参数名称 | 说明 | 类型 | 是否必选 |
|---|---|---|---|
| x | 原始字段 | 任意数据类型 | 是 |
| y | 原始字段 | 任意数据类型 | 是 |
返回值类型
与参数值x的数据类型一致
示例
| 类型 | 示例 |
|---|---|
| 统计分析语句 | SELECT min_by(hostName, latency) |
| 返回结果 | www.min-017.com |
sum函数
计算参数列的总和。
语法
sum(x)参数说明
| 参数名称 | 说明 | 类型 | 是否必选 |
|---|---|---|---|
| x | 原始字段 | 数值类型 | 是 |
返回值类型
与参数值x的数据类型一致
示例
| 类型 | 示例 |
|---|---|
| 统计分析语句 | SELECT sum(hit_count) |
| 返回结果 | 25976 |
skewness函数
计算参数x的偏度。
语法
skewness(x)参数说明
| 参数名称 | 说明 | 类型 | 是否必选 |
|---|---|---|---|
| x | 原始字段 | 数值类型 | 是 |
返回值类型
float类型
示例
| 类型 | 示例 |
|---|---|
| 统计分析语句 | SELECT skewness(latency) |
| 返回结果 | 5.501413 |
kurtosis函数
计算参数x的峰度。
语法
kurtosis(x)参数说明
| 参数名称 | 说明 | 类型 | 是否必选 |
|---|---|---|---|
| x | 原始字段 | 数值类型 | 是 |
返回值类型
float类型
示例
| 类型 | 示例 |
|---|---|
| 统计分析语句 | SELECT kurtosis(latency) |
| 返回结果 | 17.559493 |
count_if函数
统计满足指定条件的日志条数。
语法
count_if(expr)参数说明
| 参数名称 | 说明 | 类型 | 是否必选 |
|---|---|---|---|
| expr | 包含原始字段的boolean表达式 | boolean类型 | 是 |
返回值类型
integer类型
示例
| 类型 | 示例 |
|---|---|
| 统计分析语句 | SELECT count_if(latency>100) |
| 返回结果 | 236 |
bit_and函数
返回x中所有值按位与运算的结果。
语法
bit_and(x)参数说明
| 参数名称 | 说明 | 类型 | 是否必选 |
|---|---|---|---|
| x | 原始字段 | integer类型 | 是 |
返回值类型
integer类型
示例
| 类型 | 示例 |
|---|---|
| 统计分析语句 | SELECT bit_and(latency) |
| 返回结果 | 0 |
bit_or函数
返回x中所有值按位或运算的结果。
语法
bit_or(x)参数说明
| 参数名称 | 说明 | 类型 | 是否必选 |
|---|---|---|---|
| x | 原始字段 | integer类型 | 是 |
返回值类型
integer类型
示例
| 类型 | 示例 |
|---|---|
| 统计分析语句 | SELECT bit_or(latency) |
| 返回结果 | 28671 |