函数名称:VAR_POP

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

功能描述

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

参数说明

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

返回结果

  • 返回值类型为
    DOUBLE
    DOUBLE
  • 如果所有输入值均为
    NULL
    NULL
    ,则返回
    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 | +--------------------------------------------------------+

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