Создайте запрос, подсчитывающий среднее количество часов в семестре по всем дисциплинам.
В одном запросе возможно применение нескольких статистических функций к одной группе. Создадим запрос СреднийРезультатГруппы, подсчитывающий число оценок, полученных в каждой студенческой группе (по всем предметам) и средний балл (тоже по всем предметам).
Запрос в бланке запросов и в режиме таблицы показан на рис.11.
На языке SQL:
SELECT Студенты.Группа, Count(Успеваемость.Результат) AS [Количество оценок], Avg(Успеваемость.Результат) AS [Средний результат]
FROM Студенты INNER JOIN Успеваемость ON Студенты.КодСтудента = Успеваемость.КодСтудента
GROUP BY Студенты.Группа;
Рис. 11. Запрос с несколькими статистическими функциями
Нужный формат поля Ср_результат, устанавливается в окне Свойства в строке Формат поля (фиксированный) и строке Число десятичных знаков (2). Окно свойств поля вызывается из контекстного меню данного поля в бланке запросов.
Задание условий отбора в запросах с групповыми операциями. В запрос с групповыми операциями можно включать поля для задания условий отбора записей из таблиц.
|
|
Изменим запрос СреднийРезультатГруппы так, чтобы подчитывать средний результат только для отличников и хорошистов. Для этого повторно включим поле Результат в бланк запроса, в строке Групповые операции заменим значение Группировка на значение Условие, выбрав его из списка, и введем в строку Условие отбора выражение «> 3» (рис. 12).
Запрос на языке SQL:
SELECT Студенты.Группа, Avg(Успеваемость.Результат) AS Ср_результат
FROM Студенты INNER JOIN Успеваемость ON Студенты.КодСтудента = Успеваемость.КодСтудента
WHERE (((Успеваемость.Результат)>3))
GROUP BY Студенты.Группа;
Рис. 12. Заданиеусловий отбора в запросе с групповыми операциями