MySQL数据库行转列

一、数据源如下所示

 

 二、对应SQL语句如下所示

-- 行转列

SELECT t1.`产品名称`,
SUM(CASE t1.`日期` WHEN '2019-11-11' THEN t1.`数量` ELSE 0 END) AS '2019-11-11',
SUM(CASE t1.`日期` WHEN '2019-11-12' THEN t1.`数量` ELSE 0 END) AS '2019-11-12',
SUM(CASE t1.`日期` WHEN '2019-11-13' THEN t1.`数量` ELSE 0 END) AS '2019-11-13',
SUM(CASE t1.`日期` WHEN '2019-11-14' THEN t1.`数量` ELSE 0 END) AS '2019-11-14',
SUM(CASE t1.`日期` WHEN '2019-11-15' THEN t1.`数量` ELSE 0 END) AS '2019-11-15',
SUM(CASE t1.`日期` WHEN '2019-11-16' THEN t1.`数量` ELSE 0 END) AS '2019-11-16',
SUM(CASE t1.`日期` WHEN '2019-11-17' THEN t1.`数量` ELSE 0 END) AS '2019-11-17'
FROM sheet2 t1 GROUP BY t1.`产品名称` LIMIT 0, 1000;

三、最终结果如下所示

posted @ 2020-10-26 21:56  悬崖上的金鱼  阅读(683)  评论(0编辑  收藏  举报