GROUPING (Transact-SQL)

Статистическая функция, выдающая дополнительный столбец, который содержит значение 1, если строка добавлена с помощью оператора CUBE или ROLLUP, или значение 0 в ином случае.

Группирование разрешено только в списке выбора, связанном с предложением GROUP BY, которое содержит либо оператор CUBE, либо оператор ROLLUP.

Значок ссылки на разделСинтаксические обозначения в Transact-SQL

Синтаксис

GROUPING ( column_name ) 

Аргументы

  • column_name
    Столбец в предложении GROUP BY для тестирования на предмет значений NULL для CUBE или ROLLUP.

Типы возвращаемых данных

tinyint

Замечания

Группирование используется, чтобы различать значения NULL, возвращаемые посредством CUBE и ROLLUP, и стандартные значения NULL. Возвращение NULL в качестве результата операции CUBE или ROLLUP является особым случаем использования NULL. Значение служит заполнителем столбца в результирующем наборе и означает «все».

Примеры

В следующем примере производится группирование SalesQuota и статистическая обработка сумм SaleYTD. Функция GROUPING применяется к столбцу SalesQuota.

USE AdventureWorks;
GO
SELECT SalesQuota, SUM(SalesYTD) 'TotalSalesYTD', GROUPING(SalesQuota) AS 'Grouping'
FROM Sales.SalesPerson
GROUP BY SalesQuota WITH ROLLUP;
GO

В результирующем наборе показаны два значения NULL в SalesQuota. Первый NULL представляет группу значений NULL из этого столбца в таблице. Второй NULL находится в строке итогов, добавленной операцией ROLLUP. Строка итогов показывает суммы TotalSalesYTD для всех групп SalesQuota и обозначается 1 в столбце Grouping.

Ниже приводится результирующий набор.

SalesQuota     TotalSalesYTD        Grouping 
---------      -------------         --------
NULL           1533087.5999          0
250000.00      33461260.59           0
300000.00      9299677.9445          0
NULL           44294026.1344         1

(4 row(s) affected)

Журнал изменений

Версия Журнал

12 декабря 2006 г.

Измененное содержимое.
  • Удалено предложение OVER.

См. также

Справочник

Статистические функции (Transact-SQL)
SELECT (Transact-SQL)

Справка и поддержка

Получение помощи по SQL Server 2005