CORR Function [Aggregate]

Returns the correlation coefficient of a set of number pairs.

Syntax 1

CORR (dependent-expression, independent-expression)

Syntax 2

CORR (dependent-expression, independent-expression)
OVER (window-spec)

Parameters

Parameters

Parameter

Description

dependent-expression

The variable that is affected by the independent-expression.

independent-expression

The variable that influences the outcome.

Returns

DOUBLE

Remarks

The CORR function converts its arguments to DOUBLE, performs the computation in double-precision floating-point, and returns a DOUBLE as the result. If applied to an empty set, then CORR returns NULL.

dependent-expression and independent-expression are both numeric. The function is applied to the set of (dependent-expression, independent-expression) after eliminating the pairs for which either dependent-expression or independent-expression is NULL. The following computation is made:

COVAR_POP (y, x) / (STDDEV_POP (x) * STDDEV_POP (y))

where x represents the dependent-expression and y represents the independent-expression.

Note: ROLLUP and CUBE are not supported in the GROUP BY clause with Syntax 1.

Syntax 2 represents usage as a window function in a SELECT statement. As such, you can specify elements of window-spec either in the function syntax (inline), or with a WINDOW clause in the SELECT statement.

Standards and Compatibility

  • SQL—ISO/ANSI SQL compliant. SQL foundation feature outside of core SQL.

  • Sybase—Compatible with SQL Anywhere.

Example

The following example performs a correlation to discover whether age is associated with income level. This function returns the value 0.440227:

SELECT CORR( Salary, ( YEAR( NOW( ) ) - YEAR( BirthDate ) ) ) FROM Employees;
Related concepts
Windowing Aggregate Function Usage