简体中文
Appearance
简体中文
Appearance
聚合函数用于从一组输入值计算单个结果。
| Function | Input Type | Return Type | Description |
|---|---|---|---|
| avg(expression) | 数值类型 | DOUBLE | 计算表达式结果集的平均值 |
| bit_and(expression) | 数值类型 | 输入类型 | 计算表达式结果集非 null 结果的按位与 |
| bit_or(expression) | 数值类型 | 输入类型 | 计算表达式结果集非 null 结果的按位或 |
| bit_xor(expression) | 数值类型 | 输入类型 | 计算表达式结果集非 null 结果的按位异或 |
| bool_and(expression) | BOOL | BOOL | 表达式结果集所有非 null 结果为 true 则返回 true 否则返回 false |
| bool_or(expression) | BOOL | BOOL | 表达式结果集任一非 null 结果为 true 则返回 true 否则返回 false |
| count(expression) | 任意类型 | INTEGER | 计算表达式结果集包含 null 结果在内的所有行的行数 |
| max(expression) | 数值类型 | 输入类型 | 计算表达式结果集的最大值 |
| mean(expression) | 同 avg | ||
| median(expression) | 数值类型 | 输入类型 | 计算表达式结果集的中位数值 |
| min(expression) | 数值类型 | 输入类型 | 计算表达式结果集的最小值 |
| sum(expression) | 数值类型 | 输入类型 | 计算表达式结果集的所有值求和 |
| array_agg(expression [ORDER BY expression]) | 任意类型 | 输入类型的数组 | 表达式结果集聚合成一个数组输出,如果指定了顺序则按照指定的顺序插入到数组中 |
| first_value(expression [ORDER BY expression]) | 任意类型 | 输入类型 | 表达式结果集排序后的第一个结果,如果没有指定顺序则可能返回其中任意一个 |
| last_value(expression [ORDER BY expression]) | 任意类型 | 输入类型 | 表达式结果集排序后的最后一个结果,如果没有指定顺序则可能返回其中任意一个 |
TIP
当某种数据类型可以隐式转换到聚合函数支持的类型时,会转换并执行。
-- 查询 sensor_info 记录的总行数
SELECT count(*) FROM sensor_info;
-- 计算 sn = 20230629 最近7天的平均速度
SELECT avg(speed) FROM sensor_info WHERE sn = '20230629' and ts > NOW() - interval 7 day;
-- 获取最大温度值
SELECT max(temperature) FROM weather_data;
-- 计算特定设备的总运行时间
SELECT sum(duration) FROM device_logs WHERE device_id = 'device123';
-- 找出特定分组中年龄的中位数
SELECT median(age) FROM user_profiles GROUP BY user_group;
-- 计算 sn = 20230629 最新 speed 的值
SELECT last_value(speed order by ts) FROM sensor_info WHERE sn = '20230629' ;