Агрегатные функции
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 Functions | quantiles, 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 Functions | quantileExact, quantileExactLow, quantileExactHigh, quantileExactExclusive, quantileExactInclusive функции | 
