mirror of
https://github.com/hanzoai/datastore.git
synced 2026-09-26 13:55:07 +00:00
* Doc fix: add spaces where missing * Doc fixes: rm double spaces * Doc fixes: edit spaces * Doc fixes: rm double spaces in /fa * Revert "Doc fixes: rm double spaces in /fa" This reverts commit bb879a62ef5fa965d989fea3b1b2a693d2016a2d. * Doc fix: resolve all problems with double spaces in /fa * Doc fix: add spaces for readability * Doc fix: add spaces * Fix spaces
2.1 KiB
2.1 KiB
Агрегатные функции
Агрегатные функции работают в привычном для специалистов по базам данных смысле.
ClickHouse поддерживает также:
- Параметрические агрегатные функции, которые помимо столбцов принимаю и другие параметры.
- Комбинаторы, которые изменяют поведение агрегатных фунций.
Обработка NULL
При агрегации все NULL пропускаются.
Примеры
Рассмотрим таблицу:
┌─x─┬────y─┐
│ 1 │ 2 │
│ 2 │ ᴺᵁᴸᴸ │
│ 3 │ 2 │
│ 3 │ 3 │
│ 3 │ ᴺᵁᴸᴸ │
└───┴──────┘
Выполним суммирование значений в столбце y:
:) SELECT sum(y) FROM t_null_big
SELECT sum(y)
FROM t_null_big
┌─sum(y)─┐
│ 7 │
└────────┘
1 rows in set. Elapsed: 0.002 sec.
Функция sum работает с NULL как с 0. В частности, это означает, что если на вход в функцию подать выборку, где все значения NULL, то результат будет 0, а не NULL.
Теперь с помощью фукции groupArray сформируем массив из стобца y:
:) SELECT groupArray(y) FROM t_null_big
SELECT groupArray(y)
FROM t_null_big
┌─groupArray(y)─┐
│ [2,2,3] │
└───────────────┘
1 rows in set. Elapsed: 0.002 sec.
groupArray не включает NULL в результирующий массив.