mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-11-18 05:32:52 +00:00
abae86f7a6
* 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 bb879a62ef
.
* 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
в результирующий массив.