Запрос определит количество записей в каждой категории
Рис. 12.27. Запрос определит количество записей в каждой категории
Обобщенная функция применяется с группой записей. Всего в Access применяются 12 типов групповых операций, 9 из которых — обобщенные функции. К числу обобщенных функций относятся:
Sum — сумма значений в каждой группе;
Avg — среднее значение для группы;
Min — наименьшее значение в группе;
Мах — наибольшее значение в группе;
Count — количество элементов в каждой группе (за исключением пустых и незаполненных элементов);
StDev — стандартное отклонение для каждой группы;
Var — вариации для каждой группы;
First — первое значение в каждой группе;
Last — последнее значение в каждой группе.
Ниже перечислены типы групповых операций:
Group By — определение группы путем уменьшения записей до уникальных значений;
Expression — вычисление на основе обобщенной функции;
where — указание условия, ограничивающего значения в каждой группе.
На втором шаге предыдущего упражнения было выведено предостережение относительно невозможности добавлять в таблицу новые поля, не относящиеся к группе. Это привело бы к изменению группы, и запрос отобразил бы другой набор записей. Предположим, необходимо просмотреть имя каждого растения, а также подсчитать количество растений в каждой группе (как в прошлом упражнении). Вы, наверное, уже догадываетесь, в чем здесь загвоздка, даже без запуска запроса? Рассмотрим такую ситуацию.
Предыдущий запрос выводит подсчитанное количество типов растений. К каждому типу группы невозможно добавить ни единого растения. При попытке сделать это будет создано несколько групп — по одной для каждого растения. К примеру, в случае добавления в таблицу конструктора поля Имя результат будет таким, как показано на рис. 12.28. Обратите внимание на значение 1 функции count для каждой записи. Дело в том, что каждая группа основана на полях Имя и номер типа, а не исключительно на втором поле, как было ранее. Будьте осторожны при создании групповых операций и добавляйте только те поля, которые относятся к группе.