Статистические функции для выполнения расчетов
Статистические функции используются в запросах главным образом для вычисления всевозможных итоговых значений, например для числового поля таблицы можно вычислить среднее значение или сумму значений для всех или отобранных записей, можно посчитать количество записей, возвращаемых запросом.
Статистические функции, которые можно использовать в запросах Access, входят в состав Access SQL. Описание этих функций, а также типов полей, к которым они могут быть применены, приведено в табл. 8.1.
Функция | Типы полей | Описание |
---|---|---|
Avg() | Все типы полей, исключая Текстовый (Text), Поле Memo (Memo) и Поле объекта OLE (OLE Object). | Вычисляет арифметическое среднее набора чисел, содержащихся в указанном поле запроса |
Count () | Все типы полей | Вычисляет количество непустых записей, возвращаемых запросом |
First () | Все типы полей | Возвращает значение поля из первой записи результирующего набора |
Last () | Все типы полей | Возвращает значение поля из последней записи результирующего набора |
Max() | Все типы полей, исключая Текстовый, Поле Memo и Поле объекта OLE | Возвращает максимальное значение из набора, содержащегося в указанном поле |
Min() | Все типы полей, исключая Текстовый, Поле Memo и Поле объекта OLE | Возвращает минимальное значение из набора, содержащегося в указанном поле |
StDev() StDevP() |
Все типы полей, исключая Текстовый, Поле Memo и Поле объекта OLE | Возвращают смещенное и несмещенное значение среднеквадратичного отклонения, вычисляемого по набору значений, содержащихся в указанном поле |
Sum() | Все типы полей, исключая Текстовый, Поле Memo и Поле объекта OLE | Возвращает сумму набора значений, содержащихся в заданном поле |
Var() VarP () |
Все типы полей, исключая Текстовый, Поле Memo и Поле объекта OLE | Возвращают значение смещенной и не смещенной дисперсии, вычисляемой по набору значений, содержащихся в указанном поле |
Перечисленных функций обычно достаточно для решения большинства задач. Тем не менее, при необходимости пользователь может самостоятельно написать функцию на языке VBA, которая будет выполнять сложные статистические, научные или инженерные расчеты над данными, и использовать эту функцию в запросах.
Замечание
Все статистические функции Access SQL поддерживаются стандартом ANSI SQL, но не все из них поддерживаются другими СУБД. Например, не все серверные базы данных поддерживают функции StDev(), StDevP(), Var () и VarP (). Поэтому, если вы планируете в дальнейшем перенести свою базу данных на сервер, прежде чем использовать эти функции, нужно убедиться, поддерживаются ли они сервером. Иначе потом придется изменять все объекты, в которых встречаются эти функции.
Использование статистических функций для расчета итоговых значений тесно связано с применением групповых операций в запросе. Групповые операции позволяют задать группы, для которых выполняются вычисления. Ниже мы приведем примеры таких расчетов как на всем множестве записей, так и на подмножествах, выбранных по условиям запроса.