Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

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




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

 

Пример 8. Проанализировать популярность у вкладчиков видов вкладов предоставляемых банком.

 

SELECT [Код вклада], Sum ([Сумма вклада]) AS [Сумма вкладов], Avg ([Сумма вклада]) AS [Среднее значение вклада]

FROM Сведения

GROUP BY [Код вклада];

 

Код вклада Сумма вкладов Среднее значение вклада
ВД   7666,67
ВДН   12333,33
ВДС   7333,33
ТВ   23666,67

 

Здесь группировка данных с вычислением итогов производится по одному полю [Код вклада].

Каждая группа состоит из всех тех строк, которые имеют одно и то же значение поля [Код вклада], а функции SUM и AVG применяется отдельно к каждой такой группе. Это означает, что поле, к которому применяется GROUP BY, по определению имеет на выходе только одно значение на каждую группу, что соответствует применению агрегатных функций. Таким образом, все записи базы, для которых значения полей совпадают, отображаются в выборке единственной строкой.

Возможна группировка по нескольким полям.

Пример 9. Проанализировать популярность у вкладчиков видов вкладов предоставляемых банком. Вывести полную информацию по видам вкладов.

 

 

SELECT [Вид вклада], [Ставка %] AS [Процентная ставка], Sum ([Сумма вклада]) AS [Общая сумма вкладов], Avg ([Сумма вклада]) AS [Среднее значение вклада]

FROM Справочник, Сведения

WHERE (((Справочник.Код)=[Сведения].[Код вклада]))

GROUP BY [Вид вклада], [Ставка %];

 

Вид вклада Процентная ставка Общая сумма вкладов Среднее значение вклада
Валютный депозит     7666,67
Валютный депозит накопительный     12333,33
Валютный депозит срочный     7333,33
Валютный текущий     23666,67

Пример 10. Проанализировать вклады за истекшие месяцы.

В этом случае нужно сгруппировать данные по дате, выделив из дат параметр «месяц».

Для работы с данными типа Дата/время SQL располагает специальными функциями

Day – выделяет число - номер дня месяца введенной даты

Month- выделяет число номермесяца даты

Year- выделяет число номергода даты.

SELECT Month(Дата) AS Месяц, Count([Сумма вклада]) AS [Количество вкладов], Avg([Сумма вклада]) AS [В среднем на вкладе], Sum([Сумма вклада]) AS [Итого за месяц]

FROM Сведения

GROUP BY Month(Дата);

Месяц Количество вкладов В среднем на вкладе Итого за месяц
       
       
       

Пример 10_1. Проанализировать вклады за январь 2009 г.

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

Функцию отбора данных из групп выполняет параметр HAVING. Он определяет критерий, согласно которому определенные группы исключаются из числа выходных данных так же, как параметр WHERE делает это для отдельных строк. HAVING является необязательным параметром, но если он задан, то должен следовать за параметром GROUP BY.

 

SELECT Month(Дата) AS Месяц, Count([Сумма вклада]) AS [Количество вкладов], Avg([Сумма вклада]) AS [В среднем на вкладе], Sum([Сумма вклада]) AS [Итого за январь]

FROM Сведения

GROUP BY Month(Дата)

HAVING (Month(Дата)=1);

 

Месяц Количество вкладов В среднем на вкладе Итого за январь
       

 

Пример 10_2. Проанализировать вклады за период с января по март 2009г.

SELECT Month(Дата) AS Месяц, Sum([Сумма вклада]) AS [В среднем за месяц], Min([Сумма вклада]) AS [Min вклад], Max([Сумма вклада]) AS [Max вклад]

FROM Сведения

Поделиться:





Читайте также:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...