Подсчет данных при помощи запроса

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

В этой статье объясняется, как подсчитать данные, возвращаемые запросом в Access. Например, в форме или отчете можно подсчитать элементы в одном или нескольких полях таблицы или элементах управления. Кроме того, можно вычислять средние значения и находить наименьшие, наибольшие, самые ранние и самые поздние значения. В Access также есть функция "Строка итогов", которая позволяет подсчитывать данные в таблице без изменения структуры запроса.

Выберите нужное действие

Способы подсчета данных

С помощью Count этой функции можно подсчитать количество элементов в поле или столбце значений. Эта Count функция входит в набор функций, называемых агрегатными функциями. Агрегатные функции используются для вычисления столбца данных и возврата одного значения. В Access Countпомимо , есть несколько агрегатных функций, таких как:

  • Sum, чтобы добавить столбец чисел.
  • Average, чтобы вычислить среднее арифметическое столбца чисел.
  • Maximum, чтобы найти наибольшее значение в поле.
  • Minimum, чтобы найти наименьшее значение в поле.
  • Standard Deviation, чтобы измерить, насколько значения разбросаны по отношению к среднему значению.
  • Variance, чтобы измерить статистическую дисперсию всех значений в столбце.

В Access есть два способа добавления Count и других агрегатных функций в запрос.

  • Открыть запрос в режиме таблицы и добавить строку итогов. Строка "Итого" позволяет использовать агрегатную функцию в одном или нескольких столбцах результирующего набора запроса, не изменяя структуру запроса.
  • Создать итоговый запрос. В итоговом запросе вычисляются промежуточные итоги по группам записей. Например, если вы хотите вычислить промежуточную сумму всех продаж по городам или по кварталам, следует использовать итоговый запрос для группировки записей по нужной категории, а затем просуммировать все объемы продаж. С другой стороны, с помощью строки итогов можно вычислить общий итог для одного или нескольких столбцов (полей) данных.

Примечание

Разделы с инструкциями в этой статье посвящены этой Count функции, но вы также можете использовать другие агрегатные функции для итоговых строк и запросов. Дополнительные сведения см. в справочнике по агрегатным функциям далее в этой статье.

Дополнительные сведения о способах использования других агрегатных функций см. в разделе Отображение итогов по столбцу в таблице.

Действия, описанные в следующих разделах, объясняют, как добавить строку итогов и использовать итоговый запрос для подсчета данных. Следует помнить, что эта Count функция работает с большим числом типов данных, чем другие агрегатные функции. Например, вы можете выбрать Count поле любого типа, кроме поля, содержащего сложные повторяющиеся скалярные данные, например поля многозначных списков.

В отличие от этого, многие агрегатные функции работают только с полями определенного типа данных. Например, эта функция работает только с полями Sum с типами данных "Числовой", "Десятичный" или "Денежный". Дополнительные сведения о типах данных, необходимых каждой функции, см. в справочнике по агрегатным функциям далее в этой статье.

Общие сведения о типах данных см. в статье Изменение типа данных для поля.

В начало

Подсчет данных с помощью строки итогов

Чтобы добавить строку итогов в запрос, откройте его в режиме таблицы, добавьте строку, а затем выберите функцию Count или другую агрегатную функцию, например Sum, MinimumMaximumили Average. В этом разделе объясняется, как создать простой запрос на выборку и добавить строку итогов.

Создание простого запроса на выборку

  1. На вкладке Создание в группе Запросы нажмите кнопку Конструктор запросов.
  2. Дважды щелкните таблицу или таблицы, которые нужно использовать в запросе, и нажмите кнопку Закрыть. Выбранные таблицы отображаются в виде окон в верхней части конструктора запросов. На следующем рисунке показана типичная таблица в конструкторе запросов: запрос с тремя полями на бланке запроса
  3. Дважды щелкните поля таблицы, которые вы хотите использовать в запросе. Вы можете включить поля, содержащие описательные данные, например имена и описания, но следует обязательно добавить поле, содержащее подсчитываемые значения. Каждое поле отображается в столбце в бланке запроса.
  4. На вкладке "Конструктор запросов " в группе "Результаты " нажмите кнопку "Выполнить". Результаты запроса отображаются в режиме таблицы.
  5. При необходимости переключитесь в Конструктор и скорректируйте запрос. Для этого щелкните правой кнопкой мыши вкладку документа для запроса и выберите "Конструктор". Затем вы можете добавить или удалить поля таблицы по мере необходимости. Чтобы удалить поле, выделите столбец на бланке и нажмите клавишу DELETE.
  6. При необходимости вы можете сохранить запрос.

Добавление строки итогов

  1. Откройте запрос в режиме таблицы. Щелкните правой кнопкой мыши вкладку документа для запроса и выберите пункт "Режим таблицы". -или- В области навигации дважды щелкните запрос. Запрос будет выполнен, а его результаты будут загружены в таблицу.
  2. На вкладке Главная в группе Записи нажмите кнопку Итоги. Под последней строкой данных в таблице появится новая строка Итог.
  3. В строке Итог щелкните поле, по которому вы хотите выполнить подсчет, и выберите в списке функцию Count.

Скрытие строки итогов

  • На вкладке Главная в группе Записи нажмите кнопку Итоги.

Дополнительные сведения об использовании строки итогов см. в разделе Отображение итогов по столбцу в таблице.

В начало

Подсчет данных с помощью итогового запроса

Когда нужно подсчитать некоторые или все записи, возвращаемые запросом, то вместо строки итогов можно воспользоваться итоговым запросом. Например, вы можете подсчитать общее число сделок или число сделок в отдельном городе.

Как правило, итоговый запрос применяется вместо строки итогов тогда, когда требуется использовать значение результата в другой части базы данных, например в отчете.

Подсчет всех записей в запросе

  1. На вкладке Создание в группе Запросы нажмите кнопку Конструктор запросов.
  2. Дважды щелкните таблицу, которую нужно использовать в запросе, и нажмите кнопку Закрыть. Таблица появится в окне в верхней части конструктора запросов.
  3. Дважды щелкните поля, которые вы хотите использовать в запросе, и убедитесь, что они включены. Подсчитываются поля большинства типов данных, за исключением полей, содержащих сложные повторяющиеся скалярные данные, например поля многозначных списков.
  4. На вкладке "Конструктор запросов " в группе "Показать или скрыть " нажмите кнопку "Итоги". В бланке появится строка Итог, а в строке для каждого поля запроса будет указано Группировка.
  5. В строке Итог щелкните поле, по которому вы хотите выполнить подсчет, и выберите в списке функцию Count.
  6. На вкладке "Конструктор запросов " в группе "Результаты " нажмите кнопку "Выполнить". Результаты запроса отображаются в режиме таблицы.
  7. При необходимости вы можете сохранить запрос.

Подсчет записей в группе или категории

  1. На вкладке Создание в группе Запросы нажмите кнопку Конструктор запросов.
  2. Дважды щелкните таблицу или таблицы, которые нужно использовать в запросе, и нажмите кнопку Закрыть. Таблица (или таблицы) появится в окне в верхней части конструктора запросов.
  3. Дважды щелкните поле, содержащее данные категории, а также поле, значения в котором вы хотите подсчитать. Запрос не может содержать других описательных полей.
  4. На вкладке "Конструктор запросов " в группе "Показать или скрыть " нажмите кнопку "Итоги". В бланке появится строка Итог, а в строке для каждого поля запроса будет указано Группировка.
  5. В строке Итог щелкните поле, по которому вы хотите выполнить подсчет, и выберите в списке функцию Count.
  6. На вкладке "Конструктор запросов " в группе "Результаты " нажмите кнопку "Выполнить". Результаты запроса отображаются в режиме таблицы.
  7. При необходимости вы можете сохранить запрос.

В начало

Справочные сведения об агрегатных функциях

В приведенной ниже таблице агрегатные функции, которые Access предоставляет для использования в строке итогов и в запросах. В Access для запросов больше агрегатных функций, чем для строки итогов.

Функция Описание Поддерживаемые типы данных
Sum Суммирует элементы в столбце. Подходит только для числовых и денежных данных. "Число", "Действительное", "Денежный"
Average Вычисляет среднее значение для столбца. Столбец должен содержать числовые или денежные величины или значения даты или времени. Функция игнорирует пустые значения. "Число", "Действительное", "Денежный", "Дата/время"
Count Подсчитывает число элементов в столбце. Все типы данных, за исключением сложных повторяющихся скалярных данных, таких как столбец многозначных списков. Дополнительные сведения о многозначных списках см. в статье Создание и удаление многозначного поля.
Maximum Возвращает элемент, имеющий наибольшее значение. Для текстовых данных наивысшим значением является последний буквенный знак, а регистр будет игнорироваться. Функция игнорирует пустые значения. "Число", "Действительное", "Денежный", "Дата/время"
Minimum Возвращает элемент, имеющий наименьшее значение. Для текстовых данных наименьшим значением является первый буквенный вариант, а регистр будет игнорироваться. Функция игнорирует пустые значения. "Число", "Действительное", "Денежный", "Дата/время"
Standard Deviation Измеряет, насколько значения разбросаны по отношению к среднему значению. Дополнительные сведения об использовании этой функции см. в разделе Отображение итогов по столбцу в таблице. "Число", "Действительное", "Денежный"
Variance Вычисляет статистическую дисперсию для всех значений в столбце. Подходит только для числовых и денежных данных. Если таблица содержит менее двух строк, Access возвращает значение Null. Дополнительные сведения о функциях дисперсии см. в статье Отображение итогов по столбцу в таблице. "Число", "Действительное", "Денежный"

В начало