Computes the population standard deviation of all non-NULL numeric values produced by an expression. The population standard deviation shows how spread out the values in a population are, by measuring the average distance of each value from the population’s mean.
For information about the sample standard deviation, which estimates the spread of values across sample rather than the full population, see STDDEV_SAMP.
Syntax
STDDEV_POP(<expression>) [FILTER ([WHERE] <condition>)]
Parameters
| Parameter | Description | Supported input types |
|---|
<expression> | An expression producing numeric values for which to calculate the population standard deviation. | REAL, DOUBLE PRECISION |
<condition> | An optional boolean expression to filter rows used in aggregation | BOOL |
Return Type
STDDEV_POP returns a result of type DOUBLE PRECISION.
Special cases
- If there are no non-
NULL input values, the result is NULL.
- If the input contains an
Inf or NaN value, the result will be NaN.
Example
The following example calculates the population standard deviation of five grade values:
SELECT ROUND(STDDEV_POP(grade::double precision), 3) AS stddev
FROM UNNEST(ARRAY[4.0, 3.7, 3.3, 2.7, 2.7]) AS t(grade);
Rows: 1Execution time: 6.58ms