Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
16
Добавлен:
03.06.2015
Размер:
1.08 Mб
Скачать

Статистические функции

Часто бывает необходимо просуммировать данные без их выборки, и в SQL предусмотрены для этого специальные функции. SQL-запросы с этими функциями часто используются с целью выборки данных для анализа и создания отчетов.

Примерами таких выборок могут послужить:

1)определение числа строк в таблице (либо числа строк, которые удовлетворяют какому-то условию или содержат определенное значение);

2)получение суммы по набору строк в таблице;

3)поиск наибольшего, наименьшего и среднего значений из столбца таблицы (из всех или из каких-то конкретных строк)

11

Статистические SQL-функции

Функция

Описание

AVG ( )

Возвращает среднее значение столбца

COUNT ( )

Возвращает число строк в столбце

МАХ ( )

Возвращает самое большое значение в

 

столбце

MIN ( ) SUM ( )

Возвращает самое маленькое значение в столбце

Возвращает сумму значений столбца

12

Подсчет количества строк

Количество всех строк в таблице Студент:

SELECT COUNT(*) FROM Студент

Количество строк в таблице, в которых Адрес != NULL:

SELECT COUNT( Адрес ) FROM Студент

SELECT COUNT( * ) AS кол_во

FROM Студент

WHERE Год_р = 1992

Все запросы выдают ответную таблицу из одной строки!

13

Несколько статистических функций в одном запросе

SELECT MAX(Цена) AS Макс_цена,

MIN(Цена) AS Мин_цена,

AVG(Цена) AS Средн_цена,

SUM(Цена*Колич) AS Сумма

FROM Продукт

WHERE Дата_Поступления >= NOW( ) - 365

NOW( ) – Функция, возвращающая текущую дату (Ms Access)

14

DISTINCT и ALL

SELECT COUNT( ALL Год_рожд ) FROM Студент

SELECT COUNT( DISTINCT Год_рожд ) FROM Студент

15

Группировка данных

16

Создание групп

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

Группы создаются с помощью предложения GROUP BY оператора SELECT.

SELECT Год_рожд, COUNT(*) AS кол_во

FROM Студент

GROUP BY Год_рожд

Вышеприведенный SELECT-запрос предписывает группировать данные

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

17

Правила использования GROUP BY

В предложениях GROUP BY можно указывать несколько полей. Это позволяет вкладывать группы одна в другую

Каждый столбец, указанный в предложении GROUP BY, должен быть столбцом выборки или выражением.

За исключением статистических функций, каждый столбец, упомянутый в операторе SELECT, должен быть представлен в предложении GROUP BY.

Если столбец, подлежащий группированию, содержит строку со значением NULL, оно будет возвращено в качестве группы. Если имеется несколько строк со значениями NULL, они будут сгруппированы вместе

Предложение GROUP BY должно следовать после предложения WHERE и до какого-либо предложения ORDER BY

18

Группировка. Пример 1

Пусть имеется таблица городов :

Нужно узнать какие регионы представлены в данной таблице.

SELECT Регион FROM Города GROUP BY Регион

В результате получим ответную (результирующую) таблицу:

19

Группировка. Пример 2

Можно выполнить группировку по любому другому полю, например по площади:

SELECT Площадь FROM Города GROUP BY Площадь

В результате получим:

20

Соседние файлы в папке Управл_данными