Агрегатные функции

Агрегатные функции производят одиночное значение для всей группы таблицы. В SQL допускается следующие агрегатные функции:

COUNT – производит подсчёт количества строк или не- NULL значений полей, которые выбрал запрос;

SUM – рассчитывает арифметическую сумму всех выбранных значений данного поля (только для числовых полей);

AVG – производит усреднение всех выбранных значений данного поля;

MAX – находит и возвращает наибольшее из всех выбранных значений данного поля;

MIN – находит и возвращает наименьшее из всех выбранных значений данного поля.

Пример 1. Найти сумму всей выплаченной стипендии в таблице с данными о студентах.

SELECT SUM (STIP)

FROM STUDENTS;

Результат запроса: 68.00.

Пример 2. Подсчитать количество студентов, сдававших учебные предметы по таблице успеваемости.

SELECT COUNT (DISTINCT SNUM)

FROM USP;

Результат запроса: 4

Пример 3. Подсчитать общее число строк в таблице STUDENTS.

SELECT COUNT (*)

FROM STUDENTS;

Результат запроса: 5

COUNT со звездочкой включает записи с NULL значениями, а так же дубликаты, по этой причине DISTINCT в данном случае не может быть использован.

Различая между ALL и * при использовании с COUNT: ALL использует имя как аргумент и не может подсчитать значения NULL. Функции, отличные от COUNT, игнорируют значение NULL в любом случае.

Пример 4. Подсчитать количество не- NULL значений в поле SNUM.

SELECT COUNT (ALL SNUM)

FROM USP;

Результат запроса: 5

При использовании агрегатных функций с аргументами запрещено использование команды DISTINCT.

Пример 5. Найти максимальную величину проиндексированной вдвое стипендии, т.е. увеличенную в два раза.

SELECT MAX ( STIP*2)

FROM STUDENTS;

Результат запроса: 51.00.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: