Агрегатные функции (Transact-SQL)

Относится к:SQL ServerБаза данных SQL AzureУправляемый экземпляр SQL AzureAzure Synapse AnalyticsSQL аналитическая конечная точка в Microsoft FabricХранилище в Microsoft FabricSQL база данных в Microsoft Fabric

Агрегатная функция в ядре СУБД Microsoft SQL выполняет вычисление набора значений и возвращает одно значение.

  • COUNT(*)За исключением статистических функций, игнорируют NULL значения.
  • Агрегатные функции часто используются вместе с GROUP BY предложением SELECT оператора.
  • Если не указано иное, агрегатные функции являются детерминированными. Другими словами, агрегатные функции возвращают одну и ту же величину при каждом их вызове на одном и том же наборе входных значений. Например APPROX_MEDIAN , и APPROX_QUANTILE не являются детерминированными. Дополнительные сведения о детерминированном детерминизме см. в детерминированных и недетерминированных функциях .
  • Клауза OVER может следовать за всеми агрегированными функциями, кроме STRING_AGGфункций , GROUPING, илиGROUPING_ID.
  • Используйте агрегатные функции как выражения только в списке select оператора SELECT (либо подзапроса, либо внешнего запроса), либо в HAVING клаузе.

Microsoft SQL ядро СУБД предоставляет следующие агрегированные функции на некоторых или всех платформах. Обратитесь к каждой статье о синтаксисе для соответствующих платформ.

  • ANY_VALUE - Выбирает произвольное значение из строк группы и возвращает его.
  • APPROX_COUNT_DISTINCT - Возвращает приблизительный счёт различных ненулевых значений с помощью алгоритма, эффективного по памяти.
  • APPROX_MEDIAN - Возвращает приблизительное медианное значение для набора значений.
  • APPROX_PERCENTILE_CONT - Возвращает приблизительное процентильное значение с помощью непрерывной интерполяции.
  • APPROX_PERCENTILE_DISC - Возвращает приблизительное процентильное значение, выбранное из фактических значений данных.
  • APPROX_QUANTILE - Возвращает приблизительное квантильное значение для заданной квантильной позиции.
  • AVG — вычисляет среднее значение значений в группе.
  • CHECKSUM_AGG - Возвращает значение контрольной суммы, вычисленное по значениям в группе.
  • COUNT — возвращает количество строк или ненулевых значений в группе.
  • COUNT_BIG - Возвращает количество строк или ненулевых значений в группе в виде bigint-типа .
  • ГРУППИРОВКА — указывает, было ли значение столбца в итоговой строке агрегировано операцией группировки.
  • GROUPING_ID - Возвращает битовую маску, которая определяет, какие столбцы были агрегированы в группировочном наборе.
  • ПРОДУКТ — Возвращает произведение ненулевых значений в группе.
  • MAX — возвращает максимальное значение в группе.
  • МЕДИАНА — возвращает медианное значение значений в группе.
  • MIN — возвращает минимальное значение в группе.
  • PERCENTILE_CONT — Вычисляет процентиль на основе непрерывного распределения значения столбца.
  • PERCENTILE_DISC - Вычисляет определённый процентиль для отсортированных значений во всём наборе строк или внутри отдельных разбиений этого набора рядов.
  • QUANTILE — возвращает значение, соответствующее определённому квантилю внутри группы.
  • STDEV — возвращает примерное стандартное отклонение значений в группе.
  • STDEVP — возвращает стандартное отклонение численности в группе.
  • STRING_AGG - Объединяет значения строк из нескольких строк в одну строку.
  • SUM — возвращает сумму значений в группе.
  • VAR — возвращает выборочную дисперсию значений в группе.
  • VARP — возвращает дисперсию численности в группе.