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

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

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

СтраницаОписание
intervalLengthSumВычисляет общую длину объединения всех диапазонов (сегментов на числовой оси).
medianФункции median* являются псевдонимами для соответствующих функций quantile*. Они вычисляют медиану числовой выборки.
welchTTestПрименяет t-тест Уэлча к выборкам из двух популяций.
groupArrayMovingSumВычисляет скользящую сумму входных значений.
groupBitmapAndВычисляет AND по битовой колонке, возвращает кардинальность типа UInt64, если добавить суффикс -State, то возвращает объект битовой карты.
topKWeightedВозвращает массив примерно наиболее частых значений в указанной колонке. Полученный массив отсортирован по убыванию приблизительной частоты значений (не по самим значениям). Кроме того, учитывается вес значения.
distinctJSONPathsВычисляет список различных путей, хранящихся в колонке JSON.
kolmogorovSmirnovTestПрименяет тест Колмогорова-Смирнова к выборкам из двух популяций.
quantileExactWeightedInterpolatedВычисляет квантиль числовой последовательности с использованием линейной интерполяции, принимая во внимание вес каждого элемента.
largestTriangleThreeBucketsПрименяет алгоритм Largest-Triangle-Three-Buckets к входным данным.
approx_top_sumВозвращает массив примерно наиболее частых значений и их счетчиков в указанной колонке.
covarSampВычисляет значение Σ((x - x̅)(y - y̅)) / (n - 1)
groupBitmapOrВычисляет OR по битовой колонке, возвращает кардинальность типа UInt64, если добавить суффикс -State, то возвращает объект битовой карты. Это эквивалентно groupBitmapMerge.
varSampВычисляет смещенную выборочную дисперсию набора данных.
cramersVBiasCorrectedВычисляет V Крамера, но использует коррекцию смещения.
quantiles Functionsquantiles, quantilesExactExclusive, quantilesExactInclusive, quantilesGK
anyLastВыбирает последнее встреченное значение в колонке.
corrStableВычисляет коэффициент корреляции Пирсона, но использует численно стабильный алгоритм.
stddevPopStableРезультат равен квадратному корню из varPop. В отличие от stddevPop, эта функция использует численно стабильный алгоритм.
maxIntersectionsАгрегатная функция, которая вычисляет максимальное количество раз, когда группа интервалов пересекается (если все интервалы пересекаются хотя бы раз).
flameGraphАгрегатная функция, которая строит планировку с использованием списка трассировок стека.
minАгрегатная функция, которая вычисляет минимум из группы значений.
sumMapWithOverflowСуммирует массив value по ключам, указанным в массиве key. Возвращает кортеж из двух массивов: ключи в отсортированном порядке и значения, суммированные для соответствующих ключей. Отличается от функции sumMap тем, что выполняет суммирование с переполнением.
uniqВычисляет приблизительное количество различных значений аргумента.
quantileTDigestВычисляет приблизительный квантиль числовой последовательности с использованием алгоритма t-digest.
groupArrayMovingAvgВычисляет скользящее среднее входных значений.
rankCorrВычисляет коэффициент ранговой корреляции.
covarSampStableПохожа на covarSamp, но работает медленнее при меньшей вычислительной ошибке.
avgWeightedВычисляет взвешенное арифметическое среднее.
skewSampВычисляет выборочную асимметрию последовательности.
groupArrayInsertAtВставляет значение в массив в указанной позиции.
array_concat_aggДокументация для функции array_concat_agg
entropyВычисляет энтропию Шеннона для колонки значений.
uniqThetaВычисляет приблизительное количество различных значений аргументов с использованием Theta Sketch Framework.
quantileDeterministicВычисляет приблизительный квантиль числовой последовательности.
simpleLinearRegressionВыполняет простую (одномерную) линейную регрессию.
covarPopВычисляет ковариацию популяции.
groupBitmapXorВычисляет XOR по битовой колонке и возвращает кардинальность типа 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Возвращает пересечение заданных массивов (возвращает все элементы массивов, которые есть во всех заданных массивах).
estimateCompressionRatioОценивает коэффициент сжатия заданной колонки без сжатия.
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Выбирает часто встречающееся значение с использованием алгоритма тяжеловесных элементов. Если есть значение, которое встречается более чем в половине случаев в каждом из потоков выполнения запроса, это значение возвращается. Обычно результат является недетерминированным.
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 функции