Для того, что собирать данные, полученные из базы данных (далее – БД) в определённые группы, в языке 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 |
+------------+-------------+
На этом мы заканчиваем изучение группировки данных.
В следующей статье мы рассмотрим способ получения только уникальных данных.