Функции агрегирования используются как имена полей в предложении запроса SELECT, причем имена полей применяются как аргументы.
Функции SUM, AVG применимы только к числовым полям. Функции COUNT, MAX, MIN могут использоваться для числовых и символьных полей.
Пример 8. Проанализировать популярность у вкладчиков видов вкладов предоставляемых банком.
SELECT [Код вклада], Sum ([Сумма вклада]) AS [Сумма вкладов], Avg ([Сумма вклада]) AS [Среднее значение вклада] FROM Сведения GROUP BY [Код вклада];
Здесь группировка данных с вычислением итогов производится по одному полю [Код вклада]. Каждая группа состоит из всех тех строк, которые имеют одно и то же значение поля [Код вклада], а функции SUM и AVG применяется отдельно к каждой такой группе. Это означает, что поле, к которому применяется GROUP BY, по определению имеет на выходе только одно значение на каждую группу, что соответствует применению агрегатных функций. Таким образом, все записи базы, для которых значения полей совпадают, отображаются в выборке единственной строкой. Возможна группировка по нескольким полям. Пример 9. Проанализировать популярность у вкладчиков видов вкладов предоставляемых банком. Вывести полную информацию по видам вкладов.
SELECT [Вид вклада], [Ставка %] AS [Процентная ставка], Sum ([Сумма вклада]) AS [Общая сумма вкладов], Avg ([Сумма вклада]) AS [Среднее значение вклада] FROM Справочник, Сведения WHERE (((Справочник.Код)=[Сведения].[Код вклада])) GROUP BY [Вид вклада], [Ставка %];
Пример 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 Сведения
Читайте также: A) функции государства Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|