Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Неделя 07 Лекция 2 (11).doc
Скачиваний:
2
Добавлен:
13.11.2019
Размер:
196.61 Кб
Скачать

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

Агрегатные или статистические функции предназначены для выдачи итоговых значений. К ним относятся функции:

  • COUNT(<выражение>) – подсчитывает число вхождений значения выражения во все записи результирующего набора данных;

  • SUM(<выражение>) – суммирует значения выражения;

  • AVG(<выражение> ) - находит среднее значение выражения;

  • МАХ(<выражение>) – определяет максимальное значение выражения;

  • МIN(<выражение>) - определяет минимальное значение выражения.

ПРИМЕР

Определите, стоимость скольких книг превышает 25 гривень.

SELECT COUNT (*) AS count

FROM BookInventaryNumbers

WHERE Cost > 25

Ограничение на подсчет количества книг, стоимость которых превышает 25 гривен, реализуется посредством использования предложения WHERE. Общее количество книг, отвечающих указанному условию, может быть определено с помощью обобщающей функции COUNT.

Результаты выполнения запроса представлены в таблице 11.3.

Таблица 11.3

Count

2

Ограничение на подсчет количества книг, стоимость которых превышает 25 гривен, реализуется посредством использования предложения WHERE.

Если из группы одинаковых записей нужно учитывать только одну, перед выражением в скобках включают слово DISTINCT

COUNT(DISTINCT <выражение>)

Чаще всего в качестве выражения выступают имена столбцов. Выражение может вычисляться и по значениям нескольких таблиц.

ПРИМЕР

Определите, сколько различных библиотекарей выдавали книги.

SELECT COUNT (DISTINCT OutLibrarianCode) AS count

FROM BookGiveOutRecord

Общее количество записей, удовлетворяющих указанному условию, может быть определено с помощью функции COUNT без фразы DISTINCT. Однако, поскольку один и тот же библиотекарь может выдать несколько книг различным читателям, необходимо в определении функции указать ключевое слово DISTINCT – это позволяет исключить из расчета дублирующиеся значения.

Результаты выполнения запроса представлены в таблице 11.4.

Таблица 11.4

Count

2

Статистическая функция SUM( ) вычисляет сумму всех значений столбца. При этом столбец должен иметь числовой тип данных (содержать целые числа, десятичные числа, числа с плавающей запятой или денежные величины). Результат, возвращаемый этой функцией, имеет тот же тип данных, что и столбец, однако точность результата может быть выше. Например, если применить функцию SUM( ) к столбцу, содержащему 16-разрядные целые числа, она может вернуть в качестве результата 32-разрядное целое число.

ПРИМЕР

Определите общую стоимость книг библиотечного фонда.

SELECT SUM(Cost) AS Cost

FROM BookInventaryNumbers

Результаты выполнения запроса представлены в табл. 11.5.

Таблица 11.5

Cost

151.77

Статистические функции MIN( ), MAX( ) и AVG( ) позволяют найти соответственно наименьшее, наибольшее и среднее значения в столбце. При этом столбец может содержать числовые или строковые значения либо значения даты/времени. Результат, возвращаемый этими функциями, имеет точно такой же тип данных, что и сам столбец.

ПРИМЕР

Определите минимальную, максимальную и среднюю стоимость книг.

SELECT MIN(Cost) AS Min, MAX(Cost) AS Max, AVG (Cost) AS Avg

FROM BookInventaryNumbers

Результат выполнения запроса приведен в таблице 11.6.

Таблица 11.6

Min

Max

Avg

10.10

56.78

25.30