Агрегирование данных. Понятие группировки, нахождение среднего значения

Агрегирование данных

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

Рассмотрим типичные задачи, которые требуют применения функций агрегирования:

● определение среднего значения;

● подсчёт количества;

● определение максимального и минимального значения;

● подсчёт суммы.

Понятие группировки, нахождение среднего значения

В общем случае применяется функция агрегирования к данным всей таблицы. Например, найдём среднюю оценку всех учеников. Для этого воспользуемся функцией нахождения среднего значения AVG():

sqlite> SELECT AVG(grade) FROM grades; AVG(grade) ------------------ 4.95              sqlite>

 

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

sqlite> SELECT student_id, AVG(grade) FROM grades GROUP BY student_id; student_id AVG(grade) ---------- ------------------ 1      4.93333333333333  2      5.0               sqlite>

 

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

В общем виде команда агрегирования выглядит так:

SELECT 'Функция Агрегирования' FROM 'Имя Таблицы' GROUP BY 'Столбец Группировки';

 


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: