Речення GROUP BY в Access об’єднує записи з однаковими значеннями у визначеному списку полів в один запис. Якщо в інструкцію SELECT включити агрегатну функцію SQL, наприклад Sum або Count, для кожного запису створюватиметься зведене значення.
Синтаксис
SELECT список_полів
FROM таблиця WHERE умови [GROUP BY список_полів_групи]Інструкція SELECT, що містить речення GROUP BY, складається з таких частин.
Частина |
Опис |
список_полів |
Ім’я поля або полів, які мають отримуватися разом зі всіма псевдонімами, агрегатними функціями SQL, предикативами вибору (ALL, DISTINCT, DISTINCTROW чи TOP) або іншими параметрами інструкції SELECT. |
таблиця |
Ім’я таблиці, з якої буде отримано записи. |
умови |
Умови вибору. Якщо інструкція містить речення WHERE, обробник бази даних Microsoft Access групує значення після застосування умов WHERE до записів. |
список_полів_групи |
Для групування записів використовується до 10 полів. Від порядку імен полів у списку groupfieldlist залежать рівні групування (від найвищого до найнижчого). |
Примітки
Речення GROUP BY не є обов’язковим.
Зведені значення пропускаються, якщо в інструкції SELECT немає агрегатної функції SQL.
Null-значення в полях GROUP BY групуються, а не пропускаються. Проте Null-значення не оцінюються в жодній агрегатній функції SQL.
Скористайтеся реченням WHERE, щоб виключити рядки, які не потрібно групувати, і скористайтеся реченням HAVING для фільтрації записів після їх групування.
Якщо поле в списку полів GROUP BY не містить даних типу "Memo" або "Об’єкт OLE", це поле може посилатися на будь-яке поле в будь-якій таблиці, указаній у реченні FROM, навіть якщо це поле не включено в речення SELECT, за умови, що речення SELECT включає принаймні агрегатну функцію SQL. Обробник баз даних Microsoft Access не може групувати поля типу "Memo" або "Об’єкт OLE".
Усі поля у списку полів SELECT слід або включити в речення GROUP BY, або додати як аргумент до агрегатної функції SQL.