STDDEV
功能描述
STDDEV 函数用于计算一组数值的样本标准偏差。它是统计学中常用的聚合函数,用于衡量数据的离散程度。此函数是 STD 聚合函数的同义词,返回值为 DOUBLE 类型。
语法
STDDEV(expr) [FILTER (WHERE condition)]
参数
expr:一个计算结果为数值的表达式。该表达式可以是列名、计算公式或其他返回数值的表达式。
返回值
- 返回值为
DOUBLE 类型,表示样本标准偏差。
- 如果指定了
DISTINCT,则函数仅对 expr 的唯一值进行计算。
- 如果聚合组中仅包含一行数据,则函数返回
NULL。
示例
示例 1:计算所有值的标准偏差
SELECT STDDEV(col) FROM VALUES (1), (2), (3), (3) AS tab(col);
+--------------------+
| STDDEV(col) |
+--------------------+
| 0.9574271077563381 |
+--------------------+
示例 2:计算唯一值的标准偏差
SELECT STDDEV(DISTINCT col) FROM VALUES (1), (2), (3), (3) AS tab(col);
+----------------------+
| STDDEV(DISTINCT col) |
+----------------------+
| 1.0 |
+----------------------+
示例 3:使用 FILTER 子句条件性地计算标准偏差
SELECT STDDEV(col) FILTER (WHERE col > 1) FROM VALUES (1), (2), (3), (4) AS tab(col);
+----------------------------------------+
| STDDEV(col) FILTER (WHERE (col > 1)) |
+----------------------------------------+
| 1.0 |
+----------------------------------------+
示例 4:结合 FILTER 子句和 DISTINCT 计算条件标准偏差
SELECT STDDEV(DISTINCT col) FILTER (WHERE col <= 3) FROM VALUES (1), (2), (3), (3), (4) AS tab(col);
+-------------------------------------------------------+
| STDDEV(DISTINCT col) FILTER (WHERE (col <= 3)) |
+-------------------------------------------------------+
| 1.0 |
+-------------------------------------------------------+