Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






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






Агрегатные функции предназначены для вычисления итоговых значений операций над всеми записями набор данных. Многие запросы к базе данных требуют узнать всего одно или несколько значений, которые подытоживают информацию, содержащуюся в базе данных. Например:

– Какова общая сумма плановых продаж для всех служащих?

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

– Сколько служащих перевыполнили план?

– Какова средняя стоимость заказа?

– Какова средняя стоимость заказа в каждом офисе?

– Сколько служащих закреплено за каждым офисом?

В SQL запросы такого типа можно создавать с помощью агрегатных функций.

Агрегатные функции используются подобно именам полей в операторе

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

 

 

Агрегатная Функция Тип исходных данных Результат Пример
AVG Числовой Среднеарифметическое значение выбранных значений данного поля SELECT AVG(QUOTA), AVG(SALES) FROM SLUZHASCHIE
SUM Числовой Сумма всех выбранных значений данного поля SELECT SUM(QUOTA), SUM(SALES) FROM SLUZHASCHIE
MIN Числовые, строковые значения, значения даты/ времени Наименьшее из всех выбранных значений данного поля SELECT MIN(QUOTA), MAX(QUOTA) FROM SLUZHASCHIE
MAX Наибольшее из всех выбранных значений данного поля
COUNT Любой Количество строк или непустых значений полей, которые выбрал запрос SELECT COUNT(ID_CLN) FROM CLIENTY

 

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

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

генерируется следующим образом.

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

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

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

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

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

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.