Функция GROUPING:

-
Используется либо с оператором
CUBE, либо с операторомROLLUP -
Используется для поиска групп, формирующих промежуточные итоги в строке
-
Используется, чтобы отличать хранимые значения
NULLот значенийNULL, созданных с помощью операторовROLLUPилиCUBE -
Возвращает
0или1
Функция GROUPING может использоваться либо с оператором CUBE, либо с оператором ROLLUP, чтобы помочь понять, как было получено итоговое значение.
Функция GROUPING использует в качестве своего аргумента единственный столбец. Аргумент выраж в функции GROUPING должен соответствовать одному из выражений в предложении GROUP BY. Эта функция возвращает значение 0 или 1.
Значения, возвращаемые функцией GROUPING, полезны для выполнения следующих действий:
-
определение уровня агрегирования данного промежуточного итога (т. е. группы или групп, используемых для его получения);
-
определение, представляет ли собой значение
NULLв столбце выражения строки набора результатов:-
значение
NULLиз базовой таблицы (хранящееся значениеNULL); -
значение
NULL, созданное операциейROLLUPилиCUBE(в результате применения групповой функции к этому выражению).
-
Значение 0, возвращаемое функцией GROUPING, примененной к выражению, является признаком одного из следующих вариантов:
-
Выражение использовалось для расчета агрегированного значения.
-
Значение
NULLв столбце выражения является хранящимся значениемNULL.
Значение 1, возвращаемое функцией GROUPING, примененной к выражению, является признаком одного из следующих вариантов:
-
Выражение не использовалось для расчета агрегированного значения.
-
Значение
NULLв столбце выражения создано операциейROLLUPилиCUBEкак результат группирования.
Далее: Инструкции SQL в SQL*Plus