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

ОБЛАСТЬ ПРИМЕНЕНИЯ:даSQL Server (начиная с 2008)даБаза данных SQL AzureдаХранилище данных SQL AzureдаParallel Data WarehouseAPPLIES TO: yesSQL Server (starting with 2008) yesAzure SQL Database yesAzure SQL Data Warehouse yesParallel Data Warehouse

Агрегатная функция выполняет вычисление на наборе значений и возвращает одиночное значение.An aggregate function performs a calculation on a set of values, and returns a single value. Агрегатные функции, за исключением COUNT, не учитывают значения NULL.Except for COUNT, aggregate functions ignore null values. Агрегатные функции часто используются в выражении GROUP BY инструкции SELECT.Aggregate functions are often used with the GROUP BY clause of the SELECT statement.

Все агрегатные функции являются детерминированными.All aggregate functions are deterministic. Другими словами, агрегатные функции возвращают одну и ту же величину при каждом их вызове на одном и том же наборе входных значений.In other words, aggregate functions return the same value each time that they are called, when called with a specific set of input values. Дополнительные сведения о детерминированности функций см. в статье Детерминированные и недетерминированные функции.See Deterministic and Nondeterministic Functions for more information about function determinism. Предложение OVER может следовать за всеми агрегатными функциями, кроме GROUPING или GROUPING_ID.The OVER clause may follow all aggregate functions, except the GROUPING or GROUPING_ID functions.

Агрегатные функции можно использовать в качестве выражений только в следующих случаях.Use aggregate functions as expressions only in the following situations:

  • Список выбора инструкции SELECT (вложенный или внешний запрос).The select list of a SELECT statement (either a subquery or an outer query).
  • Предложение HAVING.A HAVING clause.

Transact-SQLTransact-SQL предоставляет следующие агрегатные функции. provides the following aggregate functions:

APPROX_COUNT_DISTINCTAPPROX_COUNT_DISTINCT MINMIN
AVGAVG STDEVSTDEV
CHECKSUM_AGGCHECKSUM_AGG STDEVPSTDEVP
COUNTCOUNT STRING_AGGSTRING_AGG
COUNT_BIGCOUNT_BIG SUMSUM
GROUPINGGROUPING VARVAR
GROUPING_IDGROUPING_ID VARPVARP
MAXMAX

См. также разделSee also

Встроенные функции (Transact-SQL)Built-in Functions (Transact-SQL)
Предложение OVER (Transact-SQL)OVER Clause (Transact-SQL)