Суммирование с разбивкой по разным столбцам - MySQL
Формулировка задачи:
Подскажите, как подсчитать суммы по полю
Ожидаемый результат:
Qty
по месяцам с разбивкой по разным столбцам в зависимсти от значения в полеProduct
? Исходная таблица:Month | Product | Qty |
---|
Month | Sum_PC | Sum_phone | Sum_tablet |
---|
Решение задачи: «Суммирование с разбивкой по разным столбцам»
textual
Листинг программы
select m, -- (m) - месяц sum( case when p = 'pc' then q else 0 end -- (p) -продукт, (q) - qty ) PC_q, sum( case when p = 'phone' then q else 0 end ) phone_q, sum( case when p = 'tablet' then q else 0 end ) tablet_q from t group by m;
Объяснение кода листинга программы
В данном коде выполняется запрос на языке SQL к таблице t
с целью суммирования значений столбца q
для разных продуктов (pc, phone, tablet) в разрезе месяцев (столбец m
).
Вот список действий, которые выполняются в данном коде:
- Указание столбца
m
для группировки данных по месяцам. - Использование функции SUM() для подсчета суммы значений столбца
q
для каждого месяца. - Использование оператора CASE WHEN внутри функции SUM() для условного подсчета значений столбца
q
в зависимости от значения столбцаp
. - Сортировка результатов запроса по столбцу
m
с помощью ключевого слова GROUP BY. - Вывод результатов запроса на экран.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д