2022-04-09 13:29:05 +00:00
---
2022-08-28 14:53:34 +00:00
slug: /en/sql-reference/aggregate-functions/reference/corr
2022-04-09 13:29:05 +00:00
sidebar_position: 107
---
2022-06-02 10:55:18 +00:00
# corr
2022-04-09 13:29:05 +00:00
2024-06-03 15:32:09 +00:00
Calculates the [Pearson correlation coefficient ](https://en.wikipedia.org/wiki/Pearson_correlation_coefficient ):
$$
\frac{\Sigma{(x - \bar{x})(y - \bar{y})}}{\sqrt{\Sigma{(x - \bar{x})^2} * \Sigma{(y - \bar{y})^2}}}
$$
2022-04-09 13:29:05 +00:00
2022-06-02 10:55:18 +00:00
:::note
2024-06-03 15:32:09 +00:00
This function uses a numerically unstable algorithm. If you need [numerical stability ](https://en.wikipedia.org/wiki/Numerical_stability ) in calculations, use the [`corrStable` ](../reference/corrstable.md ) function. It is slower but provides a more accurate result.
2024-05-30 10:35:24 +00:00
:::
**Syntax**
```sql
corr(x, y)
```
**Arguments**
- `x` — first variable. [(U)Int* ](../../data-types/int-uint.md ), [Float* ](../../data-types/float.md ), [Decimal ](../../data-types/decimal.md ).
- `y` — second variable. [(U)Int* ](../../data-types/int-uint.md ), [Float* ](../../data-types/float.md ), [Decimal ](../../data-types/decimal.md ).
**Returned Value**
- The Pearson correlation coefficient. [Float64 ](../../data-types/float.md ).
**Example**
Query:
```sql
DROP TABLE IF EXISTS series;
CREATE TABLE series
(
2024-06-03 15:32:09 +00:00
i UInt32,
x_value Float64,
y_value Float64
2024-05-30 10:35:24 +00:00
)
2024-06-03 15:32:09 +00:00
ENGINE = Memory;
INSERT INTO series(i, x_value, y_value) VALUES (1, 5.6, -4.4),(2, -9.6, 3),(3, -1.3, -4),(4, 5.3, 9.7),(5, 4.4, 0.037),(6, -8.6, -7.8),(7, 5.1, 9.3),(8, 7.9, -3.6),(9, -8.2, 0.62),(10, -3, 7.3);
2024-05-30 10:35:24 +00:00
```
```sql
SELECT corr(x_value, y_value)
2024-06-03 15:32:09 +00:00
FROM series;
2024-05-30 10:35:24 +00:00
```
Result:
```response
┌─corr(x_value, y_value)─┐
│ 0.1730265755453256 │
└────────────────────────┘
```