Чтобы разбить строки таблицы на группы, можно использовать предложение GROUP BY
. Затем можно воспользоваться групповыми функциями, чтобы получить сводные данные для каждой группы.
Групповые функции могут появляться в списках выбора и в предложениях ORDER BY
и HAVING
. Сервер Oracle применяет групповые функции к каждой группе строк и возвращает одну строку результатов для каждой группы.
-
Групповые функции выполняют действия над наборами строк, чтобы создать один результат для группы.
Типы групповых функций. Каждая из групповых функций – AVG
, SUM
, MAX
, MIN
, COUNT
, STDDEV
и VARIANCE
– принимает единственный аргумент. Функции AVG
, SUM
, STDDEV
и VARIANCE
работают только с числовыми значениями. Функции MAX
и MIN
могут работать с числовыми и символьными значениями данных, а также с датами. Функция COUNT
возвращает количество непустых строк для задан-ного выражения. В примере на рисунке определяются средний оклад, среднеквадратическое отклонение, количество сотрудников, получающих комиссионные, а также максимальная дата приема на работу для сотрудников, у которых значение JOB_ID
начинается с SA.
Указания по использованию групповых функций
-
Типами данных для аргументов могут быть
CHAR
,VARCHAR2
,NUMBER
илиDATE
. -
Все групповые функции, кроме
COUNT(*)
, игнорируют значенияNULL
. Чтобы заменить неопределенное значение, используйте функциюNVL
. ФункцияCOUNT
возвращает либо натуральное число, либо ноль. -
При использовании предложения
GROUP BY
сервер Oracle неявно сортирует набор результатов в порядке возрастания заданных для группирования столбцов. Чтобы переопределить этот стандартный порядок, в предложенииORDER BY
можно использовать параметрDESC
.
Далее: Выборка данных из таблицы EMPLOYEES