CORR

Computes the correlation between two numeric expressions. If either one of expressions is NULL - that input row is ignored.

Covariance vs Correlation

Covariance and correlation both describe how two variables change together, but they do so in different ways:

  • Covariance measures the direction of the relationship between two variables:
    • Positive covariance: variables tend to increase together.
    • Negative covariance: one increases as the other decreases.
    • Its value is unbounded and depends on the units of the variables, making it hard to interpret on its own.
  • Correlation, specifically Pearson correlation, standardizes the relationship:
    • It is the normalized version of covariance, giving a unitless measure between -1 and 1.
    • This makes it easier to compare the strength of relationships between different pairs of variables.

For information on covariance see COVAR_POP

Syntax

CORR(<expr1>, <expr2>)

Parameters

Parameter Description Supported input types
<expr1> First numeric expression to use for correlation computation. DOUBLE PRECISION
<expr2> Second numeric expression to use for correlation computation. DOUBLE PRECISION

Return Type

CORR returns a result of type DOUBLE PRECISION.

Example

Examples

The code examples use PlayStats table from the sample UltraFast database.

Example

The CurrentLevel and CurrentScore variables are highly correlated, hence the result is very close to 1.

SELECT CORR(CurrentScore, CurrentLevel) FROM PlayStats

Returns

0.9923304711897516

Example

But CurrentLevel and CurrentScore variables are not correlated at all, hence the result is very close to 0.

SELECT CORR(CurrentLevel, CurrentSpeed) FROM PlayStats

Returns

0.0001599550562936943