mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-12-15 10:52:30 +00:00
2.0 KiB
2.0 KiB
Агрегатные функции
Агрегатные функции работают в привычном для специалистов по базам данных смысле.
ClickHouse поддерживает также:
- Параметрические агрегатные функции, которые помимо столбцов принимаю и другие параметры.
- Комбинаторы, которые изменяют поведение агрегатных функций.
Обработка NULL
При агрегации все NULL
пропускаются.
Примеры
Рассмотрим таблицу:
┌─x─┬────y─┐
│ 1 │ 2 │
│ 2 │ ᴺᵁᴸᴸ │
│ 3 │ 2 │
│ 3 │ 3 │
│ 3 │ ᴺᵁᴸᴸ │
└───┴──────┘
Выполним суммирование значений в столбце y
:
SELECT sum(y) FROM t_null_big
┌─sum(y)─┐
│ 7 │
└────────┘
Функция sum
работает с NULL
как с 0
. В частности, это означает, что если на вход в функцию подать выборку, где все значения NULL
, то результат будет 0
, а не NULL
.
Теперь с помощью функции groupArray
сформируем массив из столбца y
:
SELECT groupArray(y) FROM t_null_big
┌─groupArray(y)─┐
│ [2,2,3] │
└───────────────┘
groupArray
не включает NULL
в результирующий массив.