Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Практикум по ORACLE 2004 года.doc
Скачиваний:
26
Добавлен:
03.05.2015
Размер:
466.43 Кб
Скачать

Лабораторная работа №7 Тема: групповые функции Групповые функции

AVG, COUNT, МАХ, MIN, STDDEV, SUM, VARIANCE

Синтаксис

SELECT столбец, групповая_функция

FROM таблица

[WHERE условие]

[GROUP BY выражение_группирования]

[HAVING условие_группы]

[ORDER BY столбец];

где: выражение_группирования задает столбец, на основе значения которого группируются строки.

условие_группы включает в выходной результат только те группы, для которых заданное условие истинно (TRUE).

  • Если в предложение SELECT включена групповая функция, получить одновременно отдельные результаты можно только в случае, если в предложении GROUP BY задан отдельный столбец. Если список столбцов отсутствует, выдается сообщение об ошибке.

  • Предложение WHERE позволяет исключить некоторые строки до начала разбиения на группы.

  • В предложении GROUP BY должны быть заданы столбцы.

  • В предложении GROUP BY нельзя использовать позиционные обозначения или псевдонимы столбцов.

  • По умолчанию строки сортируются в порядке возрастания в соответствии со списком GROUP BY. Изменить порядок сортировки можно с помощью предложения ORDER BY.

Групповые функции

Каждая функция допускает один аргумент.

Функция

Описание

AVG(DISTINCT|ALL|n)

Среднее значение n без учета неопределенных значений.

COUNT(DISTINCT|ALL|выражение|*)

Количество строк только с определенными результатами вычисления выражения. По "*" подсчитываются все строки, включая повторяющиеся и строки с неопределенными значениями.

MAX(DISTINCT|ALL|выражение)

Максимальное значения выражения.

MIN(DISTINCT|ALL|выражение)

Минимальное значения выражения выражения.

STDDEV(DISTINCT|ALL|n)

Стандартное отклонение п без учета неопределенных значений.

SUM(DISTINCT|ALL|n)

Сумма значений п без учета неопределенных значений.

VARIANCE(DISTINCT|ALL|n)

Дисперсия п без учета неопределенных значений.

  • Если задано слово DISTINCT, функция учитывает лишь неповторяющиеся значения; при наличии слова ALL рассматриваются все значения, включая повторяющиеся. Вариант ALL принимается по умолчанию, поэтому задавать его нет необходимости.

  • Если задано выражение, допустимыми типами данных для аргументов являются CHAR, VARCHAR2, NUMBER и DATE.

  • Все групповые функции, кроме COUNT(*), игнорируют неопределенные значения. Для подстановки значения вместо неопределенного используется функция NVL.

Пример.

Вывод средней, самой высокой и самой низкой заработной платы, а также суммы заработной платы всех торговых представителей за месяц.

SQL> SELECT AVG(stoimost_prok), MAX(stoimost_prok),

2 MIN(stoimost_prok), SUM(stoimost_prok)

3 from film

4 WHERE kol IS NOT NULL;

AVG(STOIMOST_PROK)MAX(STOIMOST_PROK)МIN(STOIMOST_PROK)SUM(STOIMOST_PROK)

------------------ ------------------ ------------------- -----------------------

41 42 40 164

Функции AVG и SUM применяются к столбцам с числовыми данными.