STDDEV_SAMP 和 STDDEV_POP 函數 - Amazon Redshift

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

STDDEV_SAMP 和 STDDEV_POP 函數

STDDEV_SAMP 和 STDDEV_POP 函數傳回一組數值 (整數、小數或浮點數) 的樣本標準差和母體標準差。STDDEV_SAMP 函數的結果相當於同一組值的樣本變異數平方根。

STDDEV_SAMP 和 STDDEV 是同一個函數的同義詞。

Syntax (語法)

STDDEV_SAMP | STDDEV ( [ DISTINCT | ALL ] expression) STDDEV_POP ( [ DISTINCT | ALL ] expression)

表達式必須為整數、小數或浮點數資料類型。不論表達式的資料類型為何,此函數的傳回類型都是雙精確度數字。

注意

標準差是採用浮點運算來計算,所得結果可能稍不精確。

使用須知

對包含單一值的表達式計算樣本標準差 (STDDEV 或 STDDEV_SAMP) 時,函數的結果為 NULL,不是 0。

範例

下列查詢傳回 VENUE 資料表的 VENUESEATS 欄中各值的平均值,接著傳回同一組值的樣本標準差和母體標準差。VENUESEATS 是 INTEGER 欄。結果的小數位數簡化到 2 位數。

select avg(venueseats), cast(stddev_samp(venueseats) as dec(14,2)) stddevsamp, cast(stddev_pop(venueseats) as dec(14,2)) stddevpop from venue; avg | stddevsamp | stddevpop -------+------------+----------- 17503 | 27847.76 | 27773.20 (1 row)

下列查詢傳回 SALES 資料表中的 COMMISSION 欄的樣本標準差。COMMISSION 是 DECIMAL 欄。結果的小數位數簡化到 10 位數。

select cast(stddev(commission) as dec(18,10)) from sales; stddev ---------------- 130.3912659086 (1 row)

下列查詢將 COMMISSION 欄的樣本標準差轉換為整數。

select cast(stddev(commission) as integer) from sales; stddev -------- 130 (1 row)

下列查詢傳回 COMMISSION 欄的樣本標準差和樣本變異數平方根。這些計算的結果相同。

select cast(stddev_samp(commission) as dec(18,10)) stddevsamp, cast(sqrt(var_samp(commission)) as dec(18,10)) sqrtvarsamp from sales; stddevsamp | sqrtvarsamp ----------------+---------------- 130.3912659086 | 130.3912659086 (1 row)