Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

Агрегатные функции

ClickHouse поддерживает все стандартные агрегатные функции SQL (sum, avg, min, max, count), а также множество других агрегатных функций.

Страница Описание
groupFormat Форматирует строки в каждой группе с использованием выходного формата и возвращает отформатированные данные в виде строки.
aggThrow Эту функцию можно использовать для проверки безопасности исключений. Она с указанной вероятностью сгенерирует исключение при создании.
analysisOfVariance Выполняет статистический тест для однофакторного дисперсионного анализа (тест ANOVA). Это тест для нескольких групп нормально распределённых наблюдений, который позволяет определить, одинаково ли среднее значение у всех групп.
any Выбирает первое встретившееся значение столбца.
anyHeavy Выбирает часто встречающееся значение с помощью алгоритма heavy hitters. Если существует значение, которое встречается более чем в половине случаев в каждом потоке выполнения запроса, возвращается это значение. Обычно результат недетерминирован.
anyLast Выбирает последнее встретившееся значение столбца.
approx_top_k Возвращает массив приблизительно наиболее частых значений и их количеств в указанном столбце.
approx_top_sum Возвращает массив приблизительно наиболее частых значений и их количеств в указанном столбце.
argAndMax Вычисляет значения arg и val для максимального значения val. Если есть несколько строк, в которых максимальное значение val одинаково, то какое из соответствующих значений arg и val будет возвращено, недетерминировано.
argAndMin Вычисляет значения arg и val для минимального значения val. Если есть несколько строк, в которых минимальное значение val одинаково, то какое из соответствующих значений arg и val будет возвращено, недетерминировано.
argMax Вычисляет значение arg для максимального значения val.
argMin Вычисляет значение arg для минимального значения val. Если есть несколько строк, в которых максимальное значение val одинаково, то какое из соответствующих значений arg будет возвращено, недетерминировано.
avg Вычисляет среднее арифметическое.
avgWeighted Вычисляет взвешенное среднее арифметическое.
boundingRatio Агрегатная функция, которая вычисляет наклон между крайней левой и крайней правой точками в группе значений.
categoricalInformationValue Вычисляет значение (P(tag = 1) - P(tag = 0))(log(P(tag = 1)) - log(P(tag = 0))) для каждой категории.
contingency Функция contingency вычисляет коэффициент сопряжённости — величину, измеряющую связь между двумя столбцами в таблице. Вычисление похоже на функцию cramersV, но отличается знаменателем под квадратным корнем.
corr Вычисляет коэффициент корреляции Пирсона.
corrMatrix Вычисляет корреляционную матрицу для N переменных.
corrStable Вычисляет коэффициент корреляции Пирсона, но использует численно стабильный алгоритм.
count Подсчитывает количество строк или значений, не равных NULL.
covarPop Вычисляет ковариацию генеральной совокупности
covarPopMatrix Возвращает матрицу ковариации генеральной совокупности для N переменных.
covarPopStable Вычисляет значение ковариации генеральной совокупности
covarSamp Вычисляет значение Σ((x - x̅)(y - y̅)) / (n - 1)
covarSampMatrix Возвращает выборочную матрицу ковариации для N переменных.
covarSampStable Аналогична covarSamp, но работает медленнее и обеспечивает меньшую вычислительную погрешность.
cramersV Результат функции cramersV находится в диапазоне от 0 (что соответствует отсутствию связи между переменными) до 1 и может достигать 1 только тогда, когда каждое значение полностью определяется другим. Его можно рассматривать как связь между двумя переменными в процентах от их максимально возможной вариации.
cramersVBiasCorrected Вычисляет Cramer's V, но использует поправку на смещение.
deltaSum Суммирует арифметическую разность между последовательными строками.
deltaSumTimestamp Добавляет разность между последовательными строками. Если разность отрицательная, она игнорируется.
distinctDynamicTypes Вычисляет список различных типов данных, хранящихся в столбце типа Dynamic.
distinctJSONPaths Вычисляет список различных путей, хранящихся в JSON-столбце.
distinctJSONPathsAndTypes Вычисляет список различных путей и их типов, хранящихся в JSON.
entropy Вычисляет энтропию Шеннона для столбца значений.
estimateCompressionRatio Оценивает коэффициент сжатия заданного столбца без его фактического сжатия.
exponentialMovingAverage Вычисляет экспоненциальное скользящее среднее значений за заданный период времени.
exponentialTimeDecayedAvg Возвращает экспоненциально сглаженное взвешенное скользящее среднее значений временного ряда в момент времени t.
exponentialTimeDecayedCount Возвращает накопленное экспоненциальное затухание для временного ряда в момент времени с индексом t.
exponentialTimeDecayedMax Возвращает максимум между вычисленным экспоненциально сглаженным скользящим средним в момент времени с индексом t и значением в t-1.
exponentialTimeDecayedSum Возвращает сумму значений экспоненциально сглаженного скользящего среднего временного ряда в момент времени с индексом t.
first_value Это псевдоним для any, введённый для совместимости с оконными функциями, где иногда требуется обрабатывать значения NULL (по умолчанию все агрегатные функции ClickHouse игнорируют значения NULL).
flameGraph Агрегатная функция, которая строит флеймграф на основе списка трассировок стека.
groupArray Создаёт массив из значений аргумента. Значения могут добавляться в массив в любом (неопределённом) порядке.
groupArrayArray Агрегирует массивы в один более крупный массив.
groupArrayInsertAt Вставляет значение в массив в указанную позицию.
groupArrayIntersect Возвращает пересечение заданных массивов (то есть все элементы, присутствующие во всех указанных массивах).
groupArrayLast Создаёт массив из последних значений аргумента.
groupArrayMovingAvg Вычисляет скользящее среднее входных значений.
groupArrayMovingSum Вычисляет скользящую сумму входных значений.
groupArraySample Создаёт массив из выборки значений аргумента. Размер результирующего массива ограничен max_size элементами. Значения аргумента выбираются и добавляются в массив случайным образом.
groupArraySorted Возвращает массив с первыми N элементами в порядке возрастания.
groupBitAnd Применяет побитовое AND к последовательности чисел.
groupBitmap Выполняет вычисления с битмапом или агрегирование для столбца с беззнаковыми целыми числами; возвращает мощность типа UInt64, а при добавлении суффикса -State — объект битмапа.
groupBitmapAnd Вычисляет AND для столбца битмапа; возвращает мощность типа UInt64, а при добавлении суффикса -State — объект битмапа.
groupBitmapOr Вычисляет OR для столбца битмапа; возвращает мощность типа UInt64, а при добавлении суффикса -State — объект битмапа. Это эквивалентно groupBitmapMerge.
groupBitmapXor Вычисляет XOR для столбца битмапа и возвращает мощность типа UInt64, а при использовании суффикса -State — объект битмапа.
groupBitOr Применяет побитовое OR к последовательности чисел.
groupBitXor Применяет побитовое XOR к последовательности чисел.
groupConcat Вычисляет конкатенированную строку из группы строк, при необходимости разделённых разделителем и ограниченных максимальным количеством элементов.
groupUniqArray Создаёт массив из различных значений аргумента.
intervalLengthSum Вычисляет суммарную длину объединения всех диапазонов (сегментов на числовой оси).
kolmogorovSmirnovTest Применяет критерий Колмогорова — Смирнова к выборкам из двух совокупностей.
kurtPop Вычисляет эксцесс последовательности.
kurtSamp Вычисляет выборочный эксцесс последовательности.
largestTriangleThreeBuckets Применяет алгоритм Largest-Triangle-Three-Buckets к входным данным.
last_value Выбирает последнее встретившееся значение, аналогично anyLast, но может принимать NULL.
mannWhitneyUTest Применяет ранговый критерий Манна — Уитни к выборкам из двух совокупностей.
max Агрегатная функция, вычисляющая максимум в группе значений.
maxIntersections Агрегатная функция, вычисляющая максимальное количество пересечений между интервалами в группе (если все интервалы пересекаются хотя бы один раз).
maxIntersectionsPosition Агрегатная функция, вычисляющая позиции, в которых достигается значение функции maxIntersections.
maxMap Вычисляет максимум из массива value в соответствии с ключами, указанными в массиве key.
meanZTest Применяет z-критерий для сравнения средних к выборкам из двух совокупностей.
median Функции median* являются псевдонимами соответствующих функций quantile*. Они вычисляют медиану числовой выборки.
min Агрегатная функция, вычисляющая минимум в группе значений.
minMap Вычисляет минимум из массива value в соответствии с ключами, указанными в массиве key.
quantile Вычисляет приближённый квантиль последовательности числовых данных.
quantileBFloat16 Вычисляет приближённый квантиль выборки, состоящей из чисел типа bfloat16.
quantileDD Вычисляет приближённый квантиль выборки с гарантированной относительной погрешностью.
quantileDeterministic Вычисляет приближённый квантиль последовательности числовых данных.
quantileExact Functions Функции quantileExact, quantileExactLow, quantileExactHigh, quantileExactExclusive, quantileExactInclusive
quantileExactExclusive Точно вычисляет квантиль последовательности числовых данных.
quantileExactHigh Подобно quantileExact, эта функция точно вычисляет квантиль последовательности числовых данных.
quantileExactInclusive Точно вычисляет квантиль последовательности числовых данных.
quantileExactLow Подобно quantileExact, эта функция точно вычисляет квантиль последовательности числовых данных.
quantileExactWeighted Точно вычисляет квантиль последовательности числовых данных с учётом веса каждого элемента.
quantileExactWeightedInterpolated Вычисляет квантиль последовательности числовых данных с использованием линейной интерполяции с учётом веса каждого элемента.
quantileGK Вычисляет квантиль последовательности числовых данных с использованием алгоритма Greenwald-Khanna.
quantileInterpolatedWeighted Вычисляет квантиль последовательности числовых данных с использованием линейной интерполяции с учётом веса каждого элемента.
quantilePrometheusHistogram Вычисляет квантиль гистограммы с использованием линейной интерполяции.
quantiles Functions Функции quantiles, quantilesExactExclusive, quantilesExactInclusive, quantilesGK
quantilesExactExclusive Точно вычисляет квантили последовательности числовых данных.
quantilesExactInclusive Точно вычисляет квантили последовательности числовых данных.
quantilesGK quantilesGK работает аналогично quantileGK, но позволяет одновременно вычислять квантили разных уровней и возвращает массив.
quantilesTimingWeighted С заданной точностью вычисляет квантиль последовательности числовых данных с учётом веса каждого элемента последовательности.
quantileTDigest Вычисляет приближённую квантиль последовательности числовых данных с использованием алгоритма t-digest.
quantileTDigestWeighted Вычисляет приближённую квантиль последовательности числовых данных с использованием алгоритма t-digest.
quantileTiming С заданной точностью вычисляет квантиль последовательности числовых данных.
quantileTimingWeighted С заданной точностью вычисляет квантиль последовательности числовых данных с учётом веса каждого элемента последовательности.
rankCorr Вычисляет коэффициент ранговой корреляции.
simpleLinearRegression Выполняет простую (одномерную) линейную регрессию.
singleValueOrNull Агрегатная функция singleValueOrNull используется для реализации операторов подзапросов, таких как x = ALL (SELECT ...). Она проверяет, есть ли в данных только одно уникальное значение, отличное от NULL.
skewPop Вычисляет асимметрию последовательности.
skewSamp Вычисляет выборочную асимметрию последовательности.
sparkbar Функция строит частотную гистограмму для значений x и частоты их повторения y на интервале [min_x, max_x].
stddevPop Результат равен квадратному корню из varPop.
stddevPopStable Результат равен квадратному корню из varPop. В отличие от stddevPop, эта функция использует численно стабильный алгоритм.
stddevSamp Результат равен квадратному корню из varSamp.
stddevSampStable Результат равен квадратному корню из varSamp. В отличие от stddevSamp, эта функция использует численно стабильный алгоритм.
stochasticLinearRegression Эта функция реализует стохастическую линейную регрессию. Она поддерживает пользовательские параметры для скорости обучения, коэффициента L2-регуляризации, размера мини-батча, а также несколько методов обновления весов (Adam, простой SGD, Momentum, Nesterov).
stochasticLogisticRegression Эта функция реализует стохастическую логистическую регрессию. Её можно использовать для задачи бинарной классификации; она поддерживает те же пользовательские параметры, что и stochasticLinearRegression, и работает аналогичным образом.
studentTTest Применяет t-тест Стьюдента к выборкам из двух совокупностей.
studentTTestOneSample Применяет одновыборочный t-тест Стьюдента к выборке и известному среднему значению генеральной совокупности.
sum Вычисляет сумму. Работает только с числами.
sumCount Вычисляет сумму чисел и одновременно подсчитывает количество строк. Функция используется оптимизатором запросов ClickHouse: если в запросе есть несколько функций sum, count или avg, их можно заменить одной функцией sumCount, чтобы повторно использовать вычисления. Эту функцию редко требуется вызывать явно.
sumKahan Вычисляет сумму чисел с использованием алгоритма компенсированного суммирования Кэхэна.
sumMap Суммирует один или несколько массивов value в соответствии с ключами, указанными в массиве key. Возвращает кортеж массивов: ключи в отсортированном порядке, а затем значения, суммированные для соответствующих ключей без переполнения.
sumMapWithOverflow Суммирует массив value в соответствии с ключами, указанными в массиве key. Возвращает кортеж из двух массивов: ключи в отсортированном порядке и значения, суммированные для соответствующих ключей. Отличается от функции sumMap тем, что выполняет суммирование с переполнением.
sumWithOverflow Вычисляет сумму чисел, используя для результата тот же тип данных, что и для входных параметров. Если сумма превышает максимальное значение для этого типа данных, вычисление выполняется с переполнением.
theilsU Функция theilsU вычисляет коэффициент неопределённости Теила — величину, измеряющую связь между двумя столбцами в таблице.
timeSeriesChangesToGrid Агрегатная функция, вычисляющая изменения в стиле PromQL во временных рядах на указанной сетке.
timeSeriesDeltaToGrid Агрегатная функция, вычисляющая дельту в стиле PromQL для данных временных рядов на указанной сетке.
timeSeriesDerivToGrid Агрегатная функция, вычисляющая производную в стиле PromQL для данных временных рядов на указанной сетке.
timeSeriesGroupArray Сортирует временные ряды по временной метке в порядке возрастания.
timeSeriesInstantDeltaToGrid Агрегатная функция, вычисляющая idelta в стиле PromQL для данных временных рядов на указанной сетке.
timeSeriesInstantRateToGrid Агрегатная функция, вычисляющая irate в стиле PromQL для данных временных рядов на указанной сетке.
timeSeriesLastTwoSamples Агрегатная функция для ресемплирования данных временных рядов при вычислении irate и idelta в стиле PromQL.
timeSeriesPredictLinearToGrid Агрегатная функция, вычисляющая линейный прогноз в стиле PromQL для данных временных рядов на указанной сетке.
timeSeriesRateToGrid Агрегатная функция, вычисляющая rate в стиле PromQL для данных временных рядов на указанной сетке.
timeSeriesResampleToGridWithStaleness Агрегатная функция, выполняющая ресемплирование данных временных рядов на указанную сетку.
timeSeriesResetsToGrid Агрегатная функция, вычисляющая resets в стиле PromQL для данных временных рядов на указанной сетке.
topK Возвращает массив приблизительно самых часто встречающихся значений в указанном столбце. Полученный массив сортируется по убыванию приблизительной частоты значений, а не самих значений.
topKWeighted Возвращает массив приблизительно самых часто встречающихся значений в указанном столбце. Полученный массив сортируется по убыванию приблизительной частоты значений, а не самих значений. Кроме того, учитывается вес значения.
uniq Вычисляет приблизительное количество различных значений аргумента.
uniqCombined Вычисляет приблизительное количество различных значений аргумента.
uniqCombined64 Вычисляет приблизительное количество различных значений аргумента. Аналогична uniqCombined, но использует 64-битный hash для всех типов данных, а не только для типа данных String.
uniqExact Вычисляет точное количество различных значений аргумента.
uniqHLL12 Вычисляет приблизительное количество различных значений аргумента с использованием алгоритма HyperLogLog.
uniqTheta Вычисляет приблизительное количество различных значений аргумента с использованием Theta Sketch Framework.
varPop Вычисляет дисперсию генеральной совокупности.
varPopStable Возвращает дисперсию генеральной совокупности. В отличие от varPop, эта функция использует численно стабильный алгоритм. Она работает медленнее, но дает меньшую вычислительную погрешность.
varSamp Вычисляет выборочную дисперсию набора данных.
varSampStable Вычисляет выборочную дисперсию набора данных. В отличие от varSamp, эта функция использует численно стабильный алгоритм. Она работает медленнее, но дает меньшую вычислительную погрешность.
welchTTest Применяет t-критерий Уэлча к выборкам из двух совокупностей.
Navigation