Предложение GROUP BY поля объединяет группу записей в указанном списке (поля) полей в одну запись. Если инструкция SELECT содержит групповую функцию (например Avg или Sum), то для записи в результирующее множество будет вычислено значение – итог по группе записей. Так, например, если в таблице “Экзамены” сгруппировать записи по предмету, то с помощью функции Avg можно получить средний балл по предмету. Группировка по предмету и группе позволит получить средние баллы студенческих групп по указанному предмету.
GROUP BY не является обязательным предложением. Если оно присутствует в предложении SELECT, то располагается после предложения FROM.
При использовании предложения GROUP BY все поля в списке полей предложения SELECT должны быть либо включены в список полей предложения GROUP BY, либо использоваться в качестве аргументов групповой функции SQL.
Если используются групповые функции, а предложение GROUP BY отсутствует, то роль группы играет вся совокупность исходных записей запроса.
Пример(запрос9)

Для каждого студента подсчитывается среднее арифметическое значение его оценок.
HAVING
Необязательное предложение HAVING условие должно располагаться после GROUP BY. Оно определяет, какие из сгруппированных записей войдут в результирующее множество. Условие в HAVING – обычное логическое выражение, как и в WHERE. WHERE и HAVING могут присутствовать в инструкции SELECT и одновременно. В этом случае WHERE отфильтровывает записи до группировки, а HAVING - сгруппированные записи (группы).
Пример
PARAMETERS [Введите название предмета] TEXT;
SELECT Группа, Предмет, Avg([Оценка]) AS [Средний балл]