> ## Documentation Index
> Fetch the complete documentation index at: https://clickhouse.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

> Функция `gini` вычисляет коэффициент Джини для конечного неотрицательного числового столбца — показатель неравенства распределения.

# gini

<div id="gini">
  ## gini
</div>

Добавлено в: v26.8.0

Вычисляет [коэффициент Джини](https://en.wikipedia.org/wiki/Gini_coefficient) для столбца конечных неотрицательных числовых значений — меру неравенства распределения.

Результат находится в диапазоне от `0` (полное равенство: все значения одинаковы) до максимума, приближающегося к `1` по мере роста `n` (полное неравенство: одно значение содержит всё, а остальные равны нулю). Для конечной выборки из `n` значений максимум составляет `(n - 1) / n`.

Все переданные значения собираются в исходном типе, затем сортируются, после чего выполняется численно устойчивое окончательное вычисление. Коэффициент вычисляется по нормализованным попарным разностям соседних значений и возвращается в виде `Float64`, поэтому округляется с точностью `Float64`. Следовательно, функция потребляет `O(n)` памяти, где `n` — количество переданных значений. Значения `NaN` пропускаются, а бесконечные и отрицательные значения отклоняются.

**Синтаксис**

```sql theme={null}
gini(expr)
```

**Аргументы**

* `expr` — выражение, возвращающее конечные неотрицательные числовые значения. [`(U)Int*`](/docs/ru/reference/data-types/int-uint), [`Float*`](/docs/ru/reference/data-types/float) или [`Decimal`](/docs/ru/reference/data-types/decimal)

**Возвращаемое значение**

Коэффициент Джини или `NaN`, если значений менее 2 либо их сумма равна 0. [`Float64`](/docs/ru/reference/data-types/float)

**Примеры**

**Равные значения**

```sql title=Query theme={null}
SELECT gini(x) FROM (SELECT 100 AS x FROM numbers(10));
```

```response title=Response theme={null}
┌─gini(x)─┐
│       0 │
└─────────┘
```

**Скошенное распределение**

```sql title=Query theme={null}
SELECT gini(x) FROM (SELECT number AS x FROM numbers(10));
```

```response title=Response theme={null}
┌─────────────gini(x)─┐
│ 0.36666666666666664 │
└─────────────────────┘
```
