函数名称:VAR_POP

VAR_POP([DISTINCT] expr) [FILTER (WHERE condition)]

功能描述

VAR_POP 函数用于计算一组数值数据的总体方差。方差是衡量数据分布离散程度的统计量,用于反映数据的波动性大小。通过计算总体方差,我们可以了解数据的波动情况,从而对数据进行更深入的分析。

参数说明

  • expr:数值类型,可以是 TINYINTSMALLINTINTBIGINTFLOATDOUBLEDECIMAL 类型。
    • DISTINCT:可选参数,表示计算去重之后的集合方差。如果不设置该参数,则计算包含重复值的集合方差。

返回结果

  • 返回值类型为 DOUBLE
  • 如果所有输入值均为 NULL,则返回 NULL

使用示例

  1. 计算包含重复值的集合方差:
SELECT VAR_POP(col) FROM VALUES (1), (2), (3), (3), (NULL) AS tab(col);
+----------------+
| `VAR_POP`(col) |
+----------------+
| 0.6875         |
+----------------+
  1. 计算去重之后的集合方差:
SELECT VAR_POP(DISTINCT col) FROM VALUES (1), (2), (3), (3), (NULL) AS tab(col);
+-------------------------+
| `VAR_POP`(DISTINCT col) |
+-------------------------+
| 0.6666666666666666      |
+-------------------------+
  1. 使用 FILTER 子句条件性地计算总体方差:
SELECT VAR_POP(col) FILTER (WHERE col > 1) FROM VALUES (1), (2), (3), (4) AS tab(col);
+-------------------------------------------+
| `VAR_POP`(col) FILTER (WHERE (col > 1))   |
+-------------------------------------------+
| 0.6666666666666666                        |
+-------------------------------------------+
  1. 结合 FILTER 子句和 DISTINCT 计算条件总体方差:
SELECT VAR_POP(DISTINCT col) FILTER (WHERE col <= 3) FROM VALUES (1), (2), (3), (3), (4) AS tab(col);
+--------------------------------------------------------+
| `VAR_POP`(DISTINCT col) FILTER (WHERE (col <= 3))      |
+--------------------------------------------------------+
| 0.6666666666666666                                     |
+--------------------------------------------------------+

联系我们
预约咨询
微信咨询
电话咨询