Предложение GROUP BY

Применяется к
Access для Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Предложение GROUP BY в Access объединяет записи с одинаковыми значениями в указанном списке полей в одну запись. Сводное значение создается для каждой записи, если в инструкцию SELECT включена агрегатная функция SQL, например Sum или Count.

Синтаксис

SELECT (ВЫБРАТЬ список полей)
Исходная таблица
Условие WHERE
[ГРУППИРОВАТЬ ПО группеСписокПоля]

Инструкция SELECT, содержащая предложение GROUP BY, включает в себя следующие элементы:

Часть Описание
список_полей Имена полей, извлекаемых вместе с любыми псевдонимами, статистическими функциями SQL, предикатами отбора (ALL, DISTINCT, DISTINCTROW или TOP) или с другими параметрами инструкции SELECT.
Таблица Имя таблицы, из которой извлекаются записи.
Условие. Условия отбора. Если инструкция содержит предложение WHERE, то после его применения к записям ядро базы данных Microsoft Access сгруппирует значения.
список_полей_группы Имена полей (не более 10), используемых для группировки записей. Порядок следования имен в списке_полей_группы определяет уровень группировки — от самого высокого до самого низкого

Замечания

Предложение GROUP BY не является обязательным.

Если в инструкцию SELECT не включены статистические функции SQL, сводные значения не вычисляются.

Значения NULL в полях GROUP BY группируются и не опускаются. Однако они не вычисляются ни одной из статистических функций SQL.

Предложение WHERE используется для исключения строк, которые не нужно группировать. Предложение HAVING позволяет фильтровать записи после группировки.

Поле в списке полей GROUP BY, не содержащее данные объекта MEMO или объекта OLE, может ссылаться на любое поле любой таблицы, указанной в предложении FROM, даже если это поле не включено в инструкцию SELECT, при условии, что инструкция SELECT включает хотя бы одну агрегатную функцию SQL. Ядро СУБД Microsoft Access не может группироваться по полям Memo или OLE Object.

Все поля в списке полей SELECT должны либо содержаться в предложении GROUP BY, либо быть аргументами статистической функции SQL.