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

Агрегатные функции в RQL позволяют проводить расчеты над множествами значений, предоставляя доступ к вычислению общих сумм, средних, максимальных и минимальных значений, а также других агрегатов из больших объемов данных. Их ключевая особенность — это возможность эффективно обработать информацию, полученную из различных строк данных.

Обработка NULL в агрегатных функциях предполагает исключение NULL значений из обработки, то есть, все NULL значения пропускаются и не участвуют в агрегации.

Набор поддерживаемых функций RQL и их поведение зависят от версии установленного ClickHouse. Если функция не поддерживается в используемой версии ClickHouse, она также не будет доступна в RQL.

Ознакомиться с актуальным списком функций и их поведением можно в официальной документации ClickHouse.

Обратите внимание, что для функций в официальной документации ClickHouse может быть указана версия, в которой эти функции были введены. Это позволит определить, доступна ли рассматриваемая функция в вашей версии ClickHouse.

Система не поддерживает функции ClickHouse, использующие синтаксис с двумя парами круглых скобок, например quantile(0.95)(value).
Агрегатные функции
Функция Описание

any()

Возвращает произвольное значение из столбца (any(column)). Может быть использована для оптимизации, когда точное значение неважно.

anyHeavy()

Возвращает наиболее часто встречающееся значение в столбце (anyHeavy(column)).

anyLast()

Возвращает последнее значение в столбце (anyLast(column)).

argMax()

Возвращает значение аргумента, при котором достигается максимальное значение выражения (argMax(arg, val)).

argMin()

Возвращает значение аргумента, при котором достигается минимальное значение выражения (argMin(arg, val)).

avg()

Вычисляет среднее значение для столбца, содержащего числовые данные (avg(column)).

avgWeighted()

Вычисляет взвешенное среднее значение (avgWeighted(value, weight)).

boundingRatio()

Вычисляет отношение ограничивающего объема (boundingRatio(column)), что может использоваться для оценки плотности данных.

categoricalInformationValue()

Вычисляет информационную ценность для категориальных переменных (categoricalInformationValue(variable, outcome)), позволяет оценить значимость переменных в предсказании исхода.

contingency()

Вычисляет таблицу сопряженности для двух категориальных переменных (contingency(variable1, variable2)), используется для анализа взаимосвязи между переменными.

corr()

Вычисляет коэффициент корреляции Пирсона между двумя столбцами (corr(column1, column2)).

count()

Подсчитывает количество строк, удовлетворяющих условиям запроса (count()). Если условие не указано, подсчитывает все строки в наборе данных.

covarPop()

Вычисляет ковариацию для всей совокупности (covarPop(column1, column2)).

covarSamp()

Вычисляет ковариацию на основе выборки из генеральной совокупности (covarSamp(column1, column2)).

cramersV()

Вычисляет коэффициент Крамера для измерения ассоциации между двумя категориальными переменными (cramersV(variable1, variable2)), позволяет оценить силу связи между переменными.

cramersVBiasCorrected()

Вычисляет скорректированный на смещение коэффициент Крамера (cramersVBiasCorrected(variable1, variable2)), обеспечивает более точную оценку ассоциации при малых выборках.

deltaSum()

Вычисляет сумму разностей последовательных значений в столбце (deltaSum(column)), полезно для анализа изменений значений во времени.

deltaSumTimestamp()

Вычисляет сумму разностей между последовательными временными метками (deltaSumTimestamp(timestampColumn)), используется для вычисления общего времени между событиями.

entropy()

Вычисляет энтропию для столбца (entropy(column)), что может использоваться для оценки степени разнообразия или неопределенности в данных.

first_value()

Возвращает первое значение в порядке сортировки (first_value(column)).

groupArray()

Агрегирует значения в массив (groupArray(column)), обеспечивает возможность работы с массивом значений как с единой сущностью.

groupArrayInsertAt()

Вставляет значение в массив по указанному индексу (groupArrayInsertAt(value, index)), позволяет модифицировать массивы при агрегации.

groupArrayIntersect()

Возвращает массив, содержащий только элементы, присутствующие во всех входных массивах (groupArrayIntersect(arrays)), полезно для поиска общих элементов.

groupArraySorted()

Сортирует элементы массива (groupArraySorted(column)), обеспечивает порядок данных в массиве.

groupBitAnd()

Выполняет побитовую операцию "И" над всеми значениями столбца (groupBitAnd(column)), применяется для агрегации битовых флагов.

groupBitmap()

Агрегирует значения в битовую карту (groupBitmap(column)), эффективно для подсчета уникальных значений.

groupBitmapAnd()

Выполняет операцию "И" над битовыми картами (groupBitmapAnd(bitmap1, bitmap2)), используется для поиска общих уникальных значений между наборами.

groupBitmapOr()

Выполняет операцию "ИЛИ" над битовыми картами (groupBitmapOr(bitmap1, bitmap2)), применяется для объединения уникальных значений из нескольких наборов.

groupBitmapXor()

Выполняет операцию исключающего "ИЛИ" над битовыми картами (groupBitmapXor(bitmap1, bitmap2)), полезно для определения уникальных значений, отличающихся между наборами.

groupBitOr()

Выполняет побитовую операцию "ИЛИ" над всеми значениями столбца (groupBitOr(column)), используется для объединения битовых флагов.

groupBitXor()

Выполняет побитовую операцию исключающее "ИЛИ" над всеми значениями столбца (groupBitXor(column)), полезно для вычисления различий между битовыми флагами.

groupUniqArray()

Агрегирует уникальные значения в массив (groupUniqArray(column)), используется для удаления дубликатов из набора данных.

intervalLengthSum()

Суммирует длины интервалов между значениями в столбце (intervalLengthSum(startColumn, endColumn)), что может применяться для вычисления общего времени или расстояния.

kurtPop()

Вычисляет коэффициент эксцесса для всей выборки (kurtPop(column)), позволяет оценить, насколько плоское или острое распределение у всей совокупности.

kurtSamp()

Вычисляет выборочный коэффициент эксцесса (kurtSamp(column)), используется для анализа "остроты" пика распределения данных.

largestTriangleThreeBuckets()

Применяет алгоритм Largest Triangle Three Buckets для уменьшения числа точек во временных рядах (largestTriangleThreeBuckets(time, value, buckets)), используется для оптимизации отображения графиков больших временных рядов.

last_value()

Возвращает последнее значение в порядке сортировки (last_value(column)).

max()

Возвращает максимальное значение в столбце (max(column)). Поддерживает такие же типы данных, как и функция min().

maxIntersections()

Находит максимальное количество пересечений между наборами значений (maxIntersections(set1, set2)), используется для определения наибольшего перекрытия между группами.

maxIntersectionsPosition()

Находит позицию максимального количества пересечений (maxIntersectionsPosition(set1, set2)), позволяет определить, где происходит наибольшее перекрытие между наборами данных.

maxMap()

Находит максимальные элементы входных массивов, группируя по ключам (maxMap(keysArray, valuesArray)), применяется для определения максимального значения по ключу.

meanZTest()

Выполняет Z-тест для среднего значения (meanZTest(sampleMean, populationMean, stdDev, sampleSize)), применяется для проверки гипотезы о равенстве средних в генеральной совокупности и выборке.

median()

Вычисляет медиану значений в столбце (median(column)).

min()

Возвращает минимальное значение в столбце (min(column)). Может применяться к числовым, строковым и некоторым другим типам данных.

minMap()

Находит минимальные элементы входных массивов, группируя по ключам (minMap(keysArray, valuesArray)), используется для определения минимального значения по ключу.

rankCorr()

Вычисляет ранговую корреляцию между двумя переменными (rankCorr(column1, column2)).

simpleLinearRegression()

Вычисляет параметры простой линейной регрессии для двух переменных (simpleLinearRegression(y, x)), позволяя оценить линейную зависимость между ними.

skewPop()

Вычисляет коэффициент асимметрии для всей совокупности (skewPop(column)), полезно для анализа формы распределения на всей выборке.

skewSamp()

Вычисляет выборочный коэффициент асимметрии для набора данных (skewSamp(column)), используется для оценки асимметрии распределения.

sparkBar()

Генерирует текстовое представление гистограммы для распределения значений (sparkBar(column)), предоставляет визуализацию распределения в текстовом формате.

stddevPop()

Вычисляет стандартное отклонение для всей выборки (stddevPop(column)). Поддерживается только для числовых данных.

stddevSamp()

Вычисляет выборочное стандартное отклонение (stddevSamp(column)). Используется для оценки стандартного отклонения на основе выборки из генеральной совокупности.

stochasticLinearRegression()

Вычисляет параметры стохастической линейной регрессии (stochasticLinearRegression(y, x)), используется для моделирования линейной зависимости с учетом случайного компонента.

stochasticLogisticRegression()

Вычисляет параметры стохастической логистической регрессии (stochasticLogisticRegression(y, x)), применяется для моделирования вероятности события на основе одной или нескольких независимых переменных.

studentTTest()

Выполняет t-тест Стьюдента для сравнения средних двух выборок. Используется без параметра confidenceLevel (studentTTest(sample1, sample2)).

sum()

Суммирует значения по столбцу (sum(column)). Применима только к числовым типам данных.

sumCount()

Вычисляет сумму и количество значений одновременно (sumCount(column)), полезно для получения общей суммы и размера выборки в одном запросе.

sumKahan()

Суммирует числа с использованием алгоритма Кахана для уменьшения ошибки округления (sumKahan(column)).

sumMap()

Суммирует элементы входных массивов, группируя по ключам (sumMap(keysArray, valuesArray)), полезно для агрегации данных по ключу.

sumWithOverflow()

Суммирует значения, позволяя переполнение (sumWithOverflow(column)), применяется для обработки очень больших сумм, где может произойти переполнение.

theilsU()

Вычисляет индекс Тейла для измерения ассоциации между двумя категориальными переменными (theilsU(variable1, variable2)), предоставляет альтернативную метрику для оценки взаимосвязей.

uniq()

Подсчитывает количество уникальных значений в столбце (uniq(column)), используется для определения количества различных элементов.

uniqCombined()

Приблизительно подсчитывает количество уникальных значений с помощью алгоритма HyperLogLog (uniqCombined(column)), эффективно для больших объемов данных.

uniqCombined64()

Приблизительно подсчитывает количество уникальных значений с помощью 64-битной версии алгоритма HyperLogLog (uniqCombined64(column)), предназначено для очень больших наборов данных.

uniqExact()

Точно подсчитывает количество уникальных значений (uniqExact(column)), предпочтительно для небольших наборов данных, где требуется точность.

uniqHLL12()

Приблизительно подсчитывает количество уникальных значений с использованием алгоритма HyperLogLog с точностью 12 бит (uniqHLL12(column)), используется для оптимизации расчета уникальности в больших наборах данных.

uniqTheta()

Приблизительно подсчитывает количество уникальных значений с использованием алгоритма Theta Sketch (uniqTheta(column)), предлагает улучшенную производительность и точность на больших объемах данных.

varPop()

Вычисляет дисперсию для всей выборки (varPop(column)).

varSamp()

Вычисляет дисперсию выборки (varSamp(column)), что полезно для анализа вариативности данных в выборке.

welchTTest()

Выполняет t-тест Уэлча, модификацию t-теста Стьюдента, предназначенную для использования с выборками разного размера и дисперсии. Используется без параметра confidenceLevel (welchTTest(sample1, sample2)).

Была ли полезна эта страница?

Обратная связь