STDDEV_ SAMP 和 STDDEV _ POP 函數 - Amazon Redshift

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

STDDEV_ SAMP 和 STDDEV _ POP 函數

STDDEV_ SAMP 和 STDDEV _ POP 函數會傳回一組數值 (整數、小數或浮點數) 的樣本與總體標準差。STDDEV_ SAMP 函數的結果相當於同一組值的樣本變異數的平方根。

STDDEV_ SAMP 並且STDDEV是同一函數的同義詞。

語法

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)