Перейти к основному содержимому
Перейти к основному содержимому

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

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

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