函数名称:STDDEV_SAMP(样本标准差)

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

功能描述

STDDEV_SAMP 函数用于计算一组数值数据的样本标准差。标准差是衡量数据分散程度的统计指标,用于表示数据集中数值的离散程度。该函数可以处理包括 TINYINTSMALLINTINTBIGINTFLOATDOUBLEDECIMAL 在内的多种数值类型。

参数说明

  • expr:数值类型的列或表达式,TINYINTSMALLINTINTBIGINTFLOATDOUBLEDECIMAL 类型。
  • DISTINCT:可选参数,当设置为 DISTINCT 时,函数将计算去重后的集合的标准差。如果未设置 DISTINCT,则计算包含重复值的集合的标准差。

返回结果

  • 返回 DOUBLE 类型的数值,表示数据集的样本标准差。
  • 如果输入的数据集包含 NULL 值,NULL 值将不参与计算。

使用示例

示例 1:基本使用

SELECT stddev_samp(col) FROM VALUES (1), (2), (3), (3), (NULL) AS tab(col);
+--------------------+
| `stddev_samp`(col) |
+--------------------+
| 0.9574271077563381 |
+--------------------+

示例 2:使用 DISTINCT 关键字

SELECT stddev_samp(DISTINCT col) FROM VALUES (1), (2), (3), (3), (NULL) AS tab(col);
+-----------------------------+
| `stddev_samp`(DISTINCT col) |
+-----------------------------+
| 1.0                         |
+-----------------------------+

示例 3:使用 FILTER 子句条件性地计算样本标准差

SELECT stddev_samp(col) FILTER (WHERE col > 1) FROM VALUES (1), (2), (3), (4) AS tab(col);
+-----------------------------------------------+
| `stddev_samp`(col) FILTER (WHERE (col > 1))   |
+-----------------------------------------------+
| 1.0                                           |
+-----------------------------------------------+

示例 4:结合 FILTER 子句和 DISTINCT 计算条件样本标准差

SELECT stddev_samp(DISTINCT col) FILTER (WHERE col <= 3) FROM VALUES (1), (2), (3), (3), (4) AS tab(col);
+------------------------------------------------------------+
| `stddev_samp`(DISTINCT col) FILTER (WHERE (col <= 3))      |
+------------------------------------------------------------+
| 1.0                                                        |
+------------------------------------------------------------+

通过以上示例,您可以更好地理解 STDDEV_SAMP 函数的使用方法和应用场景。在实际数据分析中,该函数可以帮助您快速评估数据的离散程度,从而为决策提供依据。

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