Агрегатные функции
ClickHouse поддерживает все стандартные SQL агрегатные функции (sum, avg, min, max, count), а также широкий спектр других агрегатных функций.
Page | Description |
---|---|
aggThrow | Эта функция может быть использована для проверки безопасности исключений. Она выбросит исключение при создании с указанной вероятностью. |
analysisOfVariance | Предоставляет статистический тест для одностороннего анализа вариации (тест ANOVA). Это тест для нескольких групп нормально распределенных наблюдений, чтобы выяснить, имеют ли все группы одинаковое среднее. |
any | Выбирает первое найденное значение колонки. |
anyHeavy | Выбирает часто встречающееся значение, используя алгоритм heavy hitters. Если есть значение, которое встречается более чем в половине случаев в каждом из потоков выполнения запроса, это значение возвращается. Обычно результат является недетерминированным. |
anyLast | Выбирает последнее найденное значение колонки. |
approx_top_k | Возвращает массив примерно самых частых значений и их количества в указанной колонке. |
approx_top_sum | Возвращает массив примерно самых частых значений и их количества в указанной колонке. |
argMax | Вычисляет значение arg для максимального значения val . |
argMin | Вычисляет значение arg для минимального значения val . Если есть несколько строк с одинаковым значением val , которое является максимальным, какое из соответствующих значений arg будет возвращено, недетерминировано. |
groupArrayArray | Агрегирует массивы в большой массив этих массивов. |
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 | Добавляет разницу между последовательными строками. Если разница отрицательная, она игнорируется. |
entropy | Вычисляет энтропию Шеннона для колонки значений. |
estimateCompressionRatio | Оценивает коэффициент сжатия заданной колонки без ее сжатия. |
exponentialMovingAverage | Вычисляет экспоненциальное скользящее среднее значений за определённый период. |
exponentialTimeDecayedAvg | Возвращает экспоненциально сглаженное взвешенное скользящее среднее значений временного ряда в момент t . |
exponentialTimeDecayedCount | Возвращает кумулятивное экспоненциальное затухание по временной серии в индексе t . |
exponentialTimeDecayedMax | Возвращает максимум вычисленного экспоненциально сглаженного скользящего среднего в индексе t , с которым сравнивают значение в t-1 . |
exponentialTimeDecayedSum | Возвращает сумму экспоненциально сглаженных значений скользящего среднего временного ряда в индексе t . |
first_value | Это псевдоним для any, но он был введён для совместимости с оконными функциями, где иногда необходимо обрабатывать значения NULL (по умолчанию все агрегатные функции ClickHouse игнорируют значения NULL). |
flameGraph | Агрегатная функция, которая строит flamegraph, используя список стековых трассировок. |
groupArray | Создаёт массив значений аргументов. Значения могут добавляться в массив в любом (недетерминированном) порядке. |
groupArrayInsertAt | Вставляет значение в массив по заданной позиции. |
groupArrayIntersect | Возвращает пересечение заданных массивов (возвращает все элементы массивов, которые содержатся во всех заданных массивах). |
groupArrayLast | Создаёт массив последних значений аргументов. |
groupArrayMovingSum | Вычисляет скользящую сумму входных значений. |
groupArrayMovingAvg | Вычисляет скользящее среднее входных значений. |
groupArraySample | Создаёт массив выборочных значений аргументов. Размер результирующего массива ограничен max_size элементами. Значения аргументов выбираются и добавляются в массив случайным образом. |
timeSeriesGroupArray | Сортирует временные ряды по временным меткам в порядке возрастания. |
groupArraySorted | Возвращает массив с первыми N элементами в порядке возрастания. |
groupBitAnd | Применяет побитовый AND для серии чисел. |
groupBitmap | Битовая карта или агрегатные вычисления из колонки беззнакового целого, возвращает кардинальность типа UInt64. Если добавить суффикс -State, то возвращает объект битовой карты. |
groupBitmapAnd | Вычисляет AND битовой карты, возвращает кардинальность типа UInt64. Если добавить суффикс -State, то возвращает объект битовой карты. |
groupBitmapOr | Вычисляет OR битовой карты, возвращает кардинальность типа UInt64. Если добавить суффикс -State, то возвращает объект битовой карты. Это эквивалентно groupBitmapMerge . |
groupBitmapXor | Вычисляет XOR битовой карты и возвращает кардинальность типа UInt64. Если используется с суффиксом -State, то возвращает объект битовой карты. |
groupBitOr | Применяет побитовый OR к серии чисел. |
groupBitXor | Применяет побитовый XOR для серии чисел. |
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 | Вычисляет приближенную квантиль числовой последовательности. |
quantileDD | Вычисляет приближенную квантиль выборки с гарантией относительной ошибки. |
quantileBFloat16 | Вычисляет приближенную квантиль выборки, состоящей из чисел bfloat16. |
quantileDeterministic | Вычисляет приближенную квантиль числовой последовательности. |
quantileExact Functions | функции quantileExact, quantileExactLow, quantileExactHigh, quantileExactExclusive, quantileExactInclusive |
quantileExactWeighted | Точно вычисляет квантиль числовой последовательности, учитывая вес каждого элемента. |
quantileGK | Вычисляет квантиль числовой последовательности с использованием алгоритма Гринвальда-Ханны. |
quantileExactWeightedInterpolated | Вычисляет квантиль числовой последовательности с использованием линейной интерполяции, учитывая вес каждого элемента. |
quantileInterpolatedWeighted | Вычисляет квантиль числовой последовательности с использованием линейной интерполяции, учитывая вес каждого элемента. |
quantiles Functions | функции quantiles, quantilesExactExclusive, quantilesExactInclusive, quantilesGK |
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. В отличие от этой функции, она использует численно стабильный алгоритм. |
stochasticLinearRegression | Эта функция реализует стохастическую линейную регрессию. Она поддерживает пользовательские параметры для скорости обучения, коэффициента L2-регуляризации, размера мини-пакета и имеет несколько методов для обновления весов (Adam, простой SGD, Momentum, Nesterov). |
stochasticLogisticRegression | Эта функция реализует стохастическую логистическую регрессию. Она может быть использована для задачи бинарной классификации, поддерживает те же пользовательские параметры, что и stochasticLinearRegression и работает аналогично. |
studentTTest | Применяет t-тест Стьюдента к образцам из двух популяций. |
sum | Вычисляет сумму. Работает только для чисел. |
studentTTestOneSample | Применяет однобразный t-тест Стьюдента к образцу и известному среднему по популяции. |
sumCount | Вычисляет сумму чисел и одновременно подсчитывает количество строк. Функция используется оптимизатором запросов ClickHouse: если в запросе несколько функций sum , count или avg , их можно заменить на одну функцию sumCount , чтобы повторно использовать вычисления. Функция редко требуется использовать явно. |
sumKahan | Вычисляет сумму чисел с алгоритмом компенсации суммы Кахана. |
sumMap | Суммирует один или несколько массивов value в соответствии с ключами, указанными в массиве key . Возвращает кортеж массивов: ключи в отсортированном порядке, за которыми следуют суммы значений для соответствующих ключей без переполнения. |
sumMapWithOverflow | Суммирует массив value в соответствии с ключами, указанными в массиве key . Возвращает кортеж из двух массивов: ключи в отсортированном порядке и суммы значений для соответствующих ключей. Отличие от функции sumMap в том, что она суммирует с переполнением. |
sumWithOverflow | Вычисляет сумму чисел, используя тот же тип данных для результата, как для входных параметров. Если сумма превышает максимальное значение для этого типа данных, она вычисляется с переполнением. |
theilsU | Функция theilsU вычисляет коэффициент неопределенности Тейла, значение, которое измеряет связь между двумя колонками в таблице. |
topK | Возвращает массив примерно самых частых значений в указанной колонке. Результирующий массив отсортирован в порядке убывания приблизительной частоты значений (не по самим значениям). |
topKWeighted | Возвращает массив примерно самых частых значений в указанной колонке. Результирующий массив отсортирован в порядке убывания приблизительной частоты значений (не по самим значениям). Дополнительно учитывается вес значения. |
uniq | Вычисляет приближенное количество различных значений аргумента. |
uniqCombined | Вычисляет приближенное количество различных значений аргументов. |
uniqCombined64 | Вычисляет приближенное количество различных значений аргументов. Это то же самое, что и uniqCombined, но использует 64-битный хеш для всех типов данных, а не только для типа String. |
uniqExact | Вычисляет точное количество различных значений аргументов. |
uniqHLL12 | Вычисляет приближенное количество различных значений аргументов, используя алгоритм HyperLogLog. |
uniqTheta | Вычисляет приближенное количество различных значений аргументов, используя Theta Sketch Framework. |
varPop | Вычисляет популяционную дисперсию. |
varPopStable | Возвращает популяционную дисперсию. В отличие от varPop, эта функция использует численно стабильный алгоритм. Она работает медленнее, но обеспечивает меньшую вычислительную ошибку. |
varSamp | Вычисляет выборочную дисперсию набора данных. |
varSampStable | Вычисляет выборочную дисперсию набора данных. В отличие от varSamp , эта функция использует численно стабильный алгоритм. Она работает медленнее, но обеспечивает меньшую вычислительную ошибку. |
welchTTest | Применяет t-тест Уэлча к образцам из двух популяций. |
distinctDynamicTypes | Вычисляет список различных типов данных, хранящихся в динамической колонке. |
distinctJSONPaths | Вычисляет список различных путей, хранящихся в JSON колонке. |
timeSeriesDeltaToGrid | Агрегатная функция, которая вычисляет дельту в стиле PromQL по временным рядам на заданной сетке. |
timeSeriesInstantDeltaToGrid | Агрегатная функция, которая вычисляет мгновенную дельту в стиле PromQL по временным рядам на заданной сетке. |
timeSeriesInstantRateToGrid | Агрегатная функция, которая вычисляет мгновенную скорость в стиле PromQL по временным рядам на заданной сетке. |
timeSeriesLastTwoSamples | Агрегатная функция для повторной выборки временных рядов для вычисления мгновенной скорости и дельты в стиле PromQL. |
timeSeriesRateToGrid | Агрегатная функция, которая вычисляет скорость в стиле PromQL по временным рядам на заданной сетке. |
timeSeriesResampleToGridWithStaleness | Агрегатная функция, которая повторно выбирает временные ряды на заданной сетке. |
timeSeriesDerivToGrid | Агрегатная функция, которая вычисляет производную в стиле PromQL по временным рядам на заданной сетке. |
timeSeriesPredictLinearToGrid | Агрегатная функция, которая вычисляет линейное предсказание в стиле PromQL по временным рядам на заданной сетке. |
timeSeriesChangesToGrid | Агрегатная функция, которая вычисляет изменения в стиле PromQL по временным рядам на заданной сетке. |
timeSeriesResetsToGrid | Агрегатная функция, которая вычисляет сбросы в стиле PromQL по временным рядам на заданной сетке. |
groupConcat | Вычисляет конкатенированную строку из группы строк, опционально разделённых разделителем, и опционально ограниченную максимальным числом элементов. |
quantilePrometheusHistogram | Вычисляет квантиль гистограммы с использованием линейной интерполяции. |