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 г. |
|
См. также
Справочник
Статистические функции (Transact-SQL)
SELECT (Transact-SQL)