Skip to main content
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

ParameterDescriptionSupported 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 aggregationBOOL

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);
stddev double null
0.523

Rows: 1Execution time: 6.58ms