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

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

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

PageDescription
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Вычисляет Cramer's V, но с использованием коррекции на смещение.
quantiles Functionsquantiles, quantilesExactExclusive, quantilesExactInclusive, quantilesGK
anyLastВыбирает последнее встреченное значение в столбце.
corrStableВычисляет коэффициент корреляции Пирсона, но использует численно стабильный алгоритм.
stddevPopStableРезультат равен квадратному корню varPop. В отличие от stddevPop, эта функция использует численно стабильный алгоритм.
maxIntersectionsАгрегатная функция, которая вычисляет максимальное количество раз, когда группа интервалов пересекается друг с другом (если все интервалы пересекаются хотя бы один раз).
flameGraphАгрегатная функция, строящая фламеграф, используя список стековых трассировок.
minАгрегатная функция, которая вычисляет минимум среди группы значений.
sumMapWithOverflowСуммирует массив value в соответствии с ключами, указанными в массиве key. Возвращает кортеж из двух массивов: ключи в отсортированном порядке и значения, суммированные для соответствующих ключей. Отличается от функции sumMap тем, что производит суммирование с переполнением.
uniqВычисляет приблизительное количество различных значений аргумента.
quantileTDigestВычисляет приблизительный квартиль числовой последовательности данных, используя алгоритм t-дигест.
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, Импульс, Нестерова).
analysisOfVarianceПредоставляет статистический тест для однофакторного анализа дисперсии (тест ANOVA). Это тест по нескольким группам нормально распределенных наблюдений, чтобы выяснить, имеют ли все группы одинаковое среднее или нет.
groupConcatВычисляет конкатенированную строку из группы строк, при желании разделенную разделителем и при желании ограниченную максимальным количеством элементов.
exponentialTimeDecayedMaxВозвращает максимум вычисленного экспоненциально сглаженного скользящего среднего по индексу t во времени с тем, что на t-1.
anyВыбирает первое встреченное значение в столбце.
covarSampMatrixВозвращает матрицу выборочной ковариации по N переменным.
groupArrayLastСоздает массив последних значений аргументов.
singleValueOrNullАгрегатная функция singleValueOrNull используется для реализации операторов подзапросов, таких как x = ALL (SELECT ...). Она проверяет, есть ли только одно уникальное значение, не равное NULL, в данных.
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Выбирает часто встречающееся значение, используя алгоритм heavy hitters. Если есть значение, которое встречается более чем в половине случаев в каждом потоке выполнения запроса, это значение возвращается. Обычно результат является недетерминированным.
quantileBFloat16Вычисляет приблизительный квартиль выборки, состоящей из чисел bfloat16.
maxАгрегатная функция, которая вычисляет максимум среди группы значений.
groupBitXorПрименяет побитовый XOR для последовательностей чисел.
quantileTimingWeightedС определенной точностью вычисляет квартиль числовой последовательности данных в соответствии с весом каждого члена последовательности.
quantileInterpolatedWeightedВычисляет квартиль числовой последовательности данных с использованием линейной интерполяции, учитывая вес каждого элемента.
stddevPopРезультат равен квадратному корню varPop.
uniqCombinedВычисляет приблизительное количество различных значений аргумента.
covarPopStableВычисляет значение ковариации популяции.
argMaxВычисляет значение arg для максимального значения val.
groupBitOrПрименяет побитовый OR к последовательности чисел.
quantileTDigestWeightedВычисляет приблизительный квартиль числовой последовательности данных, используя алгоритм t-дигест.
distinctDynamicTypesВычисляет список различных типов данных, хранящихся в динамическом столбце.
sumMapСуммирует массив value в соответствии с ключами, указанными в массиве key. Возвращает кортеж из двух массивов: ключи в отсортированном порядке, и значения, суммированные для соответствующих ключей без переполнения.
kurtSampВычисляет выборочную куртозу последовательности.
stochasticLogisticRegressionЭта функция реализует стохастическую логистическую регрессию. Она может использоваться для проблемы бинарной классификации, поддерживает те же пользовательские параметры, что и stochasticLinearRegression и работает так же.
exponentialMovingAverageВычисляет экспоненциальное скользящее среднее значений за заданное время.
uniqCombined64Вычисляет приблизительное количество различных значений аргумента. Это то же самое, что uniqCombined, но использует 64-битный хеш для всех типов данных, а не только для строкового типа данных.
meanZTestПрименяет z-тест среднего к выборкам из двух популяций.
uniqHLL12Вычисляет приблизительное количество различных значений аргумента, используя алгоритм HyperLogLog.
groupArrayArrayАгрегирует массивы в более крупный массив из этих массивов.
groupUniqArrayСоздает массив из различных значений аргументов.
groupBitAndПрименяет побитовый AND для последовательности чисел.
deltaSumСуммирует арифметическую разницу между последовательными строками.
groupArraySortedВозвращает массив с первыми N элементами в порядке возрастания.
quantileExact Functionsфункции quantileExact, quantileExactLow, quantileExactHigh, quantileExactExclusive, quantileExactInclusive