📣
TiDB Cloud Premium 开放公测中。为企业级工作负载提供无限扩展、即时弹性伸缩和高级安全保障。此页面由 AI 自动翻译,英文原文请见此处。

聚合函数



本页按功能对 TiDB Cloud Lake 中的聚合函数进行了全面概览,便于快速查阅。

基本聚合

函数描述示例
COUNT统计行数或非 NULL 值的数量COUNT(*) → 10
COUNT_DISTINCT统计不同值的数量COUNT(DISTINCT city) → 5
APPROX_COUNT_DISTINCT近似统计不同值的数量APPROX_COUNT_DISTINCT(user_id) → 9955
SUM计算值的总和SUM(sales) → 1250.75
AVG计算值的平均值AVG(temperature) → 72.5
MIN返回最小值MIN(price) → 9.99
MAX返回最大值MAX(price) → 99.99
ANY_VALUE返回组中的任意一个值ANY_VALUE(status) → 'active'

条件聚合

函数描述示例
COUNT_IF统计满足条件的行数COUNT_IF(price > 100) → 5
SUM_IF对满足条件的值求和SUM_IF(amount, status = 'completed') → 750.25
AVG_IF计算满足条件的值的平均值AVG_IF(score, passed = true) → 85.6
MIN_IF在条件为 true 时返回最小值MIN_IF(temp, location = 'outside') → 45.2
MAX_IF在条件为 true 时返回最大值MAX_IF(speed, vehicle = 'car') → 120.5

统计函数

函数描述示例
VAR_POP / VARIANCE_POP总体方差VAR_POP(height) → 10.25
VAR_SAMP / VARIANCE_SAMP样本方差VAR_SAMP(height) → 12.3
STDDEV_POP总体标准差STDDEV_POP(height) → 3.2
STDDEV_SAMP样本标准差STDDEV_SAMP(height) → 3.5
COVAR_POP总体协方差COVAR_POP(x, y) → 2.5
COVAR_SAMP样本协方差COVAR_SAMP(x, y) → 2.7
KURTOSIS衡量分布的峰度KURTOSIS(values) → 2.1
SKEWNESS衡量分布的偏斜程度SKEWNESS(values) → 0.2

百分位与分布

函数描述示例
MEDIAN计算中位数MEDIAN(response_time) → 125
MODE返回出现频率最高的值MODE(category) → 'electronics'
QUANTILE_CONT连续插值分位数QUANTILE_CONT(0.95)(response_time) → 350.5
QUANTILE_DISC离散分位数QUANTILE_DISC(0.5)(age) → 35
QUANTILE_TDIGEST使用 t-digest 近似计算分位数QUANTILE_TDIGEST(0.9)(values) → 95.2
QUANTILE_TDIGEST_WEIGHTED加权 t-digest 分位数QUANTILE_TDIGEST_WEIGHTED(0.5)(values, weights) → 50.5
MEDIAN_TDIGEST使用 t-digest 近似计算中位数MEDIAN_TDIGEST(response_time) → 124.5
HISTOGRAM创建直方图存储桶HISTOGRAM(10)(values) → [{...}]

数组与集合聚合

函数描述示例
ARRAY_AGG将值收集到数组中ARRAY_AGG(product) → ['A', 'B', 'C']
GROUP_ARRAY_MOVING_AVG计算数组上的移动平均值GROUP_ARRAY_MOVING_AVG(3)(values) → [null, null, 3.0, 6.0, 9.0]
GROUP_ARRAY_MOVING_SUM计算数组上的移动和GROUP_ARRAY_MOVING_SUM(2)(values) → [null, 3, 7, 11, 15]

地理空间聚合

函数描述示例
ST_UNION_AGG对组内的 GEOMETRY 值执行联合体操作ST_UNION_AGG(geom) → MULTIPOINT(...)
ST_INTERSECTION_AGG对组内的 GEOMETRY 值执行相交操作ST_INTERSECTION_AGG(geom) → POLYGON(...)
ST_ENVELOPE_AGG返回组内 GEOMETRY 值的外接矩形ST_ENVELOPE_AGG(geom) → POLYGON(...)
ST_COLLECT将 GEOMETRY 值收集为一个 GEOMETRY 结果ST_COLLECT(geom) → GEOMETRYCOLLECTION(...)

字符串聚合

函数描述示例
GROUP_CONCAT使用分隔符连接值GROUP_CONCAT(city, ', ') → 'New York, London, Tokyo'
STRING_AGG使用分隔符连接字符串STRING_AGG(tag, ',') → 'red,green,blue'
LISTAGG使用分隔符连接值LISTAGG(name, ', ') → 'Alice, Bob, Charlie'

JSON 聚合

函数描述示例
JSON_ARRAY_AGG将值聚合为 JSON 数组JSON_ARRAY_AGG(name) → '["Alice", "Bob", "Charlie"]'
JSON_OBJECT_AGG从键值对创建 JSON 对象JSON_OBJECT_AGG(name, score) → '{"Alice": 95, "Bob": 87}'

参数选择

函数描述示例
ARG_MAX返回 expr2 最大时对应的 expr1 值ARG_MAX(name, score) → 'Alice'
ARG_MIN返回 expr2 最小时对应的 expr1 值ARG_MIN(name, score) → 'Charlie'

漏斗分析

函数描述示例
RETENTION计算留存率RETENTION(action = 'signup', action = 'purchase') → [100, 40]
WINDOWFUNNEL在时间窗口内搜索事件序列WINDOWFUNNEL(1800)(timestamp, event='view', event='click', event='purchase') → 2

匿名化

函数描述示例
MARKOV_TRAIN训练 markov 模型MARKOV_TRAIN(address)

文档内容是否有帮助?