
Select Count{*) as ЧислоЗакаЗов from Заказы;
Следующий запрос подсчитывает количество студентов 104 группы.
SELECT Count(Фамилия) AS [Студенты 104] PROM Студенты WHERE группа = 104;
Если в аргументе выражение задано несколько полей, функция Count подсчитывает запись только в том случае, если хотя бы одно из полей не содержит значения Null. Если все указанные поля содержат значения Null, запись не подсчитывается. Для разделения имен полей используется символ (&). В следующем примере демонстрируется способ ограничения числа записей теми записями, для которых поле «ДатаИсполнения» или поле «СтоимостьДоставки» не содержат пустые значения:
SELECT Count('ДатаИсполнения & СтоимостьДоставки')AS [Not Null] FROM Заказы;
75
Функция SUM
Возвращает сумму набора значений, содержащихся в заданном поле запроса.
Синтаксис
SELECT Sum (выражение) as ....
FROM таблица
[WHERE ...]
Аргумент выражение является строковым выражением, которое определяет поле, содержащее добавляемые числовые данные, или выражение, выполняющее вычисления с данными из этого поля. Операнды аргумента выражение могут включать:
имя поля таблицы,
константу,
или функцию.
(Функция может быть внутренней или определяться пользователем, но не может быть другой статистической функцией SQL).
Дополнительные сведения
Функция Sum выполняет суммирование значений в поле. Функция Sum пропускает записи с полями, содержащими значения Null.
Следующий запрос подсчитывает итоговую сумму раздаточной ведомости преподавателей Экономического факультета.
SELECT Sum([К выплате])AS Итого FROM Ведомость
WHERE Факультет = "ЭФ";
Ведомость
В следующем примере показано, как вычислить сумму произведений полей «Цена» и «Количество»:
SELECT Sum(Цена * Количество)AS [ Доход] FROM Заказано;
76
Функция AVG
Вычисляет арифметическое среднее набора чисел, содержащихся в указанном поле запроса.
Синтаксис
SELECT Avg (выражение) as .... FROM таблица
[WHERE ...]
Аргумент выражение является строковым выражением, которое определяет поле, содержащее числовые данные для вычисления среднего значения, или выражение, выполняющее вычисления с данными из этого поля. Операнды аргумента выражение могут включать:
имя поля таблицы,
константу,
или функцию.
(Функция может быть внутренней или определяться пользователем, но не может быть другой статистической функцией SQL).
Дополнительные сведения
Среднее значение, вычисленное функцией Avg, является числовым значением (сумма
значений, деленая на их количество).
Функция Avg не включает в вычисления поля со значениями Null.
Следующий запрос определяет средний балл 112 группы.
SELECT AVG([Экзамен])AS [Cp балл] FROM Ведомость
77
WHERE Группа - 112;
Функции MIN, MAX
Возвращают минимальное и максимальное значения из набора значений, содержащихся в
указанном поле запроса.
Синтаксис
■
SELECT Min (выражение) as .... FROM таблица [WHERE ...]
Аргумент выражение является строковым выражением, которое определяет поле, содержащее обрабатываемые данные, или выражение, выполняющее вычисления с данными из этого поля. Операнды аргумента выражение могут включать:
имя поля таблицы,
константу,
или функцию.
(Функция может быть внутренней или определяться пользователем, но не может быть другой статистической функцией SQL).
Дополнительные сведения
Функции Mm и Мах используются для определения наименьшего и наибольшего значений из поля на основе выборки или группировки. Например, можно применить эти функции для возврата наименьшей и наибольшей стоимости доставки. Если не указан способ группировки, используется вся таблица. Следующий запрос определяет максимальную зарплату.
SELECT Маx([К выплате])AS Максимум
FROM Ведомость
WHERE Факультет = "ЭФ";
Фамилия |
Факультет |
К выплате |
ИСАЕВ |
ММ |
6500 |
ИСАЧКИН |
ЭФ |
5000 |
КАМЕНЕВ |
вмк |
4800 |
ИВАННИКОВ |
ЭФ |
4000 |
ИВАНОВ |
фф |
5800 |
КАРТАШЕВ |
ЭФ |
5600 |
КАШОЛКИН |
вмк |
4500 |
Максимум 5600 |
78
Предложение GROUP BY
Объединяет записи с одинаковыми значениями в указанном списке полей в одну запись. Если инструкция SELECT содержит статистическую функцию SQL, например Sum или Count, то для каждой записи будет вычислено итоговое значение.
Синтаксис
SELECT списокПолей FROM таблица [WHERE] условиеОтбора GROUP BY [группируемыеПоля]
Ниже перечислены аргументы инструкции SELECT, содержащей предложение GROUP BY: Элемент Описание
группируемыеПоля
Имена полей (до 10), которые используются для группировки записей. Порядок имен полей в аргументе группируемыеПоля определяет уровень группировки для каждого из этих полей.
Дополнительные сведения
Предложение GROUP BY является необязательным.
Итоговые значения не рассчитываются, если инструкция SELECT не содержит статистической функции SQL.
Значения Null, которые находятся в полях, заданных в предложении GROUP BY, группируются и не опускаются. Однако статистические функции SQL не обрабатывают значения Null.
Используйте предложение WHERE для исключения записей из группировки, а предложение HAVING для применения фильтра к записям после группировки.
При использовании предложения GROUP BY все поля в списке полей инструкции SELECT должны быть либо включены в предложение GROUP BY, либо использоваться в качестве аргументов статистической функции SQL.
Следующий запрос анализирует экзаменационную оценочную ведомость и создает итоговую таблицу содержащую номер группы, количество студентов в группе и средний балл по предметам.
SELECT Группа, Count(Гpyппa) as Колич, Avg(Эк) as [Ср б Эк], Avg(Инф)) as [Cp б Инф] into [Итоговая ведомость] from Ведомость GROUP BY Группа; Ведомость Итоговая ведомость
SELECT Факультет, Курс, Соunt(Фамилия) as Количество
from Ведомость
GROUP BY Факультет, Курс;
Ведомость