Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
BD_KL_2010_14.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
28.97 Mб
Скачать

4.2.2.Вычисление суммы значений столбца

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

Ниже приведен пример, в котором используется функция SUM( ).

Пример. Каковы общий плановый и общий фактический объемы продаж в компании?

SELECT SUM(QUOTA), SUM(SALES)

FROM SLUZHASCHIE

4.2.3.Вычисление экстремумов

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

Ниже приведен пример, показывающий использование данных функций.

Пример. Каковы наибольший и наименьший плановые объемы продаж в компании?

SELECT MIN(QUOTA), MAX(QUOTA)

FROM SLUZHASCHIE

В случае применения функций MIN() и MAX() к числовым данным числа сравниваются по арифметическим правилам (среди двух отрицательных чисел меньше то, у которого модуль больше; нуль меньше любого положительного числа и больше любого отрицательного). Сравнение дат происходит последовательно (более ранние значения дат считаются меньшими, чем более поздние). Сравнение интервалов времени выполняется на основании их продолжительности.

В случае применения функций MIN() и MAX() к строковым данным результат сравнения двух строк зависит от используемой таблицы кодировки. На персональных компьютерах используется таблица кодировки ASCII, где установлен порядок сортировки, при котором цифры идут перед буквами, а все прописные буквы  перед строчными.

4.2.4.Вычисление количества значений в столбце

Агрегатная функция COUNT() подсчитывает количество значений в столбце. При этом тип данных столбца может быть любым. Функция COUNT() всегда возвращает целое число независимо от типа данных столбца.

Пример. Подсчитать количество клиентов компании?

SELECT COUNT(ID_CLN)

FROM CLIENTY

4.2.5.Правила выполнения запросов, в котором участвуют агрегатные функции

Таблица результатов запроса, в котором участвуют агрегатные функции, генерируется следующим образом.

  1. Берется таблица, указанная в предложении FROM.

  2. Если имеется предложение WHERE, применить заданное в нем условие отбора к каждой строке таблицы. Если при этом получается значение TRUE, то текущая строка добавляется в результирующую таблицу, если получается значение FALSE, то строка отбрасывается.

  3. Для каждой из оставшихся строк вычислить значение каждого элемента в списке возвращаемых столбцов и создать одну строку таблицы результатов запроса.

Смысл запроса, в котором участвуют агрегатные функции, легче понять, если разбить процесс выполнения на два этапа.

Сначала представим выполнение запроса без агрегатных функций (п.п. 1 - 5 раздела 4.1.5).

Затем представим, как СУБД применяет агрегатные функции к результатам запроса, формируя при этом итоговую строку.

Все агрегатные функции возвращают единственное значение. Функции COUNT, MIN и MAX применимы как к числовым полям, так и к нечисловым полям, тогда как функции SUM и AVG могут применяться только к числовым полям.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]