Агрегатные функции
ClickHouse поддерживает все стандартные SQL агрегатные функции (sum, avg, min, max, count), а также широкий спектр других агрегатных функций.
| Page | Description |
|---|---|
| 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 Functions | quantiles, 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 |