GROUP BY в SQL — это оператор, который используется для группировки данных в таблице по определенным критериям. Этот оператор позволяет сгруппировать строки таблицы по значению определенного столбца и провести агрегатные функции, такие как SUM, AVG, COUNT и другие, для каждой группы отдельно.
Другими словами, GROUP BY позволяет разбить данные на несколько групп на основе значений в одном или нескольких столбцах и произвести над каждой группой агрегатные вычисления, такие как подсчет суммы или среднего значения.
Например, если у вас есть таблица заказов с информацией о клиентах, дате заказа и сумме заказа, вы можете использовать оператор GROUP BY, чтобы сгруппировать заказы по клиентам и получить сумму заказов каждого клиента отдельно.
Пример SQL-запроса с оператором GROUP BY:
SELECT customer_name, SUM(order_amount)
FROM orders
GROUP BY customer_name;
Этот запрос вернет таблицу с именами клиентов и суммой их заказов для каждого клиента отдельно.
Еще пример, есть таблица «orders», содержащая данные о заказах в интернет-магазине:
order_id | customer_id | order_date | total_amount |
---|---|---|---|
1 | 101 | 2022-01-01 | 100 |
2 | 102 | 2022-01-02 | 50 |
3 | 103 | 2022-01-03 | 75 |
4 | 101 | 2022-01-04 | 200 |
5 | 104 | 2022-01-05 | 125 |
6 | 103 | 2022-01-06 | 50 |
Мы хотим узнать общее количество заказов для каждого клиента. Для этого мы можем использовать следующий запрос:
SELECT customer_id, COUNT(*) AS total_orders
FROM orders
GROUP BY customer_id;
Результат будет выглядеть так:
customer_id | total_orders |
---|---|
101 | 2 |
102 | 1 |
103 | 2 |
104 | 1 |
Этот запрос сгруппирует данные по customer_id и подсчитает количество заказов для каждого клиента.