Руководство по SQL. Группировка данных.

Для того, что собирать данные, полученные из базы данных (далее – БД) в определённые группы, в языке SQL используется элемент GROUP BY.

Элемент GROUP BY идёт после условного оператора WHERE в запросе SELECT.

Запрос с применением GROUP BY, имеет следующий вид:


SELECT колонка1, колонка2, ... колонкаN
FROM имя_таблицы
WHERE [ условие ]
GROUP BY колонка1, колонка2, ... колонкаN
ORDER BY колонка1, колонка2, ... колонкаN

Пример:

Предположим, что у нас есть таблица developers, которая содержит следующие данные:


+----+-------------------+------------+------------+--------+
| ID | NAME              | SPECIALTY  | EXPERIENCE | SALARY |
+----+-------------------+------------+------------+--------+
|  1 | Eugene Suleimanov | Java       |          2 |   2500 |
|  2 | Peter Romanenko   | Java       |          3 |   3500 |
|  3 | Andrei Komarov    | JavaScript |          3 |   2500 |
|  4 | Konstantin Geiko  | C#         |          2 |   2000 |
|  5 | Asya Suleimanova  | UI/UX      |          2 |   1800 |
+----+-------------------+------------+------------+--------+

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


SELECT SPECIALTY, SUM(SALARY) FROM developers GROUP BY SPECIALTY;

В результате выполнения данного запроса мы получим:


+------------+-------------+
| SPECIALTY  | SUM(SALARY) |
+------------+-------------+
| C#         |        2000 |
| Java       |        6000 |
| JavaScript |        2500 |
| UI/UX      |        1800 |
+------------+-------------+

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