Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
SQL Учебник.doc
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
1.28 Mб
Скачать

Занятие 7 Статистические функции в sql

В SQL предусмотрено пять статистических функций:

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

SUM() Возвращает сумму всех значений в столбце.

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

MIN() Возвращает минимальное значение в столбце.

MАХ() Возвращает максимальное значение в столбце.

В скобках указывается имя столбца.

Применение статистических функций рассмотрим на примере таблицы "Ведомость" учитывающей фамилию студента, его академическую группу и экзаменационный балл.

Ведомость

Фамилия

Группа

Балл

Смирнов

3

15

Васильев

2

23

Петухов

2

45

Рунов

1

21

Алексеев

3

36

Романов

1

45

Шадрин

1

23

Воротников

2

21

Баранов

3

36

Синицын

2

33

Гришин

1

23

Задание:

  1. Определить общее количество студентов.

  2. Определить сумму баллов студентов 2-й группы

  3. Для студентов 1-й группы определить:

- их количество,

- средний балл,

- минимальный балл

- максимальный балл

Запрос 1.

SELECT COUNT(Группа) AS Количество

FROM Ведомость

Количество

11

Запрос 2.

SELECT SUM(Балл) AS Количество

FROM Ведомость

WHERE Группа = 2

Количество

122

З

SELECT COUNT(Группа) AS Количество, AVG(Балл) AS [Ср балл],

MIN(Балл) AS Минимум, MAX(Балл) AS Максимум

FROM Ведомость

WHERE Группа = 1

апрос 3
.

Количество

Ср балл

Минимум

Максимум

4

28

21

45

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

Статистические функции выполняют действия или над всеми данными в столбце, или над данными отобранными предложением WHERE.

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

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

Группировка по одному столбцу

Создание групп по одному столбцу, рассмотрим на примере таблицы "Ведомость"

Класс

Балл

3

15

2

23

2

45

1

21

3

36

1

45

1

23

2

21

3

36

2

33

1

23

Задание:

  1. Определить количество учеников в каждом классе.

  2. Определить количество учеников в каждой классе и средний балл в классе.

  3. Для 1-го и 3-го класса, определить минимальный и максимальный балл.

Ведомость

Запрос 1.

SELECT Класс, COUNT(Класс) AS Количество

FROM Ведомость

GROUP BY Класс

Класс

Количество

1

4

2

4

3

3

Запрос 2.

SELECT Класс, COUNT(Класс) AS Колич,

AVG(Балл) AS [Ср балл]

FROM Ведомость

GROUP BY Класс

Класс

Колич

Ср балл

1

4

28

2

4

30,5

3

3

29

З

Класс

Мин

Макс

1

21

45

3

15

36

апрос 3.

SELECT Класс, MIN (Балл) AS Мин,

MAX (Балл) AS Макс

FROM Ведомость

WHERE Класс IN (1, 3)

GROUP BY Класс

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]