MySQL: Преобразовать строки в столбцы в MySQL

Преобразовать строки в столбцы в MySQL можно с помощью оператора CASE.

Таблица "Заказы" (orders):

idcustomerproductquantity
1ИванЯблоки10
2ИванГруши15
3МарияЯблоки20
4МарияГруши25

Нужно сделать выборку следующего вида:

customerapplespears
Иван1015
Мария2025

SQL-запрос для решения задачи:

SELECT 
	`customer`,
	SUM( CASE WHEN `product` = 'Яблоки' THEN `quantity` ELSE 0 END ) AS 'apples',
	SUM( CASE WHEN `product` = 'Груши' THEN `quantity` ELSE 0 END) AS 'pears'
FROM 
	orders
GROUP BY 
	`customer` ;

Запрос использует оператор CASE для создания нового столбца для каждого товара, а затем использует функцию SUM для подсчёта количества каждого товара для каждого клиента.

3.3 г. Просмотров: 1.5k
Материал помог? Оценка помогает находить устаревшие и спорные решения.

Комментарии

0

Нашли ошибку или хотите дополнить материал?

Комментариев пока нет.Можно первым дополнить материал или сообщить об ошибке.
Telegram