STDDEV_SAMP

Returns the sample standard deviation of values.

Note

Aliases to this function include STDDEV and STDEV for compatibility.

See also: STDDEV_POP

Syntax

-- As an aggregate
STDDEV_SAMP( expr )

STDDEV( expr )

STDEV( expr )

-- As a window function
STDDEV_SAMP ( expr ) OVER (
         [ PARTITION BY value_expression [, ...] ]
         [ ORDER BY value_expression [ ASC | DESC ] [ NULLS { FIRST | LAST } ] [, ...] ]
         [ frame_clause ]
      )

Arguments

Parameter

Description

expr

Numeric expression

Returns

Returns the standard deviation with type DOUBLE.

Notes

  • When all rows contain NULL values, the function returns NULL.

  • The function also returns NULL when only one value is non-NULL.

Examples

For these examples, assume a table named nba, with the following structure:

CREATE TABLE nba
(
   "Name" text(40),
   "Team" text(40),
   "Number" tinyint,
   "Position" text(2),
   "Age" tinyint,
   "Height" text(4),
   "Weight" real,
   "College" text(40),
   "Salary" float
 );

Here’s a peek at the table contents (Download nba.csv):

nba.csv

Name

Team

Number

Position

Age

Height

Weight

College

Salary

Avery Bradley

Boston Celtics

0.0

PG

25.0

6-2

180.0

Texas

7730337.0

Jae Crowder

Boston Celtics

99.0

SF

25.0

6-6

235.0

Marquette

6796117.0

John Holland

Boston Celtics

30.0

SG

27.0

6-5

205.0

Boston University

R.J. Hunter

Boston Celtics

28.0

SG

22.0

6-5

185.0

Georgia State

1148640.0

Jonas Jerebko

Boston Celtics

8.0

PF

29.0

6-10

231.0

5000000.0

Amir Johnson

Boston Celtics

90.0

PF

29.0

6-9

240.0

12000000.0

Jordan Mickey

Boston Celtics

55.0

PF

21.0

6-8

235.0

LSU

1170960.0

Kelly Olynyk

Boston Celtics

41.0

C

25.0

7-0

238.0

Gonzaga

2165160.0

Terry Rozier

Boston Celtics

12.0

PG

22.0

6-2

190.0

Louisville

1824360.0

Simple standard deviation

t=> SELECT AVG("Age"), STDDEV_SAMP("Age") FROM nba;
avg | stddev_samp
----+------------
 26 |       4.404

Combine stddev with other aggregates

t=> SELECT "Age", AVG("Salary"), STDDEV_SAMP("Salary"), STDDEV_POP("Salary") FROM nba GROUP BY 1;
Age | avg      | stddev_samp  | stddev_pop
----+----------+--------------+-------------
 19 |  1930440 |  279165.7572 |       197400
 20 |  2725790 | 1510913.4308 | 1470615.1437
 21 |  2067379 | 1412350.3607 | 1374680.8959
 22 |  2357963 |  1517378.326 | 1487911.8642
 23 |  2034746 | 2728292.0728 | 2693086.8292
 24 |  3785300 | 4803383.8083 | 4749713.0309
 25 |  3930867 | 4558462.9038 | 4506364.4739
 26 |  6866566 | 6100470.7879 |  6015145.316
 27 |  6676741 |  6831984.073 | 6746043.7454
 28 |  5110188 | 4316626.5733 | 4244073.0603
 29 |  6224177 | 4870705.8411 | 4779656.5821
 30 |  7061858 | 5408669.6434 | 5317761.1581
 31 |  8511396 | 7170163.4693 | 7005310.0889
 32 |  7716958 | 7451335.8768 |  7159011.944
 33 |  3930739 | 4354293.0145 |  4195901.738
 34 |  7606030 | 5653035.0228 | 5362939.9094
 35 |  3461739 |  2364690.175 | 2211965.1152
 36 |  2238119 | 1550061.2451 | 1470517.2142
 37 | 12777778 | 10715167.374 | 8748897.5249
 38 |  1840041 | 1496660.6556 | 1296146.1486
 39 |  2517872 | 2220522.4752 |    1570146.5
 40 |  4666916 | 4155420.6792 | 3392886.7769