Categories:

Aggregate Functions (General) , Window Functions (General)

COVAR_SAMP¶

Returns the sample covariance for non-null pairs in a group. It is computed for non-null pairs using the following formula:

`(SUM(x*y) - SUM(x) * SUM(y) / COUNT(*)) / (COUNT(*) - 1)`

Where `x` is the independent variable and `y` is the dependent variable.

Syntax¶

Aggregate function

```COVAR_SAMP( y , x )
```

Window function

```COVAR_SAMP( y , x ) OVER ( [ PARTITION BY <expr1> ] )
```

Usage Notes¶

• DISTINCT is not supported for this function.

• When used as a window function:

• This function does not support:

• ORDER BY sub-clause in the OVER() clause.

• Window frames.

Examples¶

```CREATE OR REPLACE TABLE aggr(k int, v decimal(10,2), v2 decimal(10, 2));
INSERT INTO aggr VALUES(1, 10, NULL);
INSERT INTO aggr VALUES(2, 10, 11), (2, 20, 22), (2, 25, NULL), (2, 30, 35);
```
```SELECT k, COVAR_SAMP(v, v2) FROM aggr GROUP BY k;

---+-------------------+
k | covar_samp(v, v2) |
---+-------------------+
1 | [NULL]            |
2 | 120               |
---+-------------------+
```