Mysql 如何将SQL中的数据转换为多列

Mysql 如何将SQL中的数据转换为多列,mysql,sql,Mysql,Sql,我有一个sql表,其中包括多篇文章及其在不同日期的相应销售事务。 下面是一个示例表: 我需要将这些表按日期分组,并总结每种产品的销售额。不同的产品现在应该显示为列。所以每篇文章都有自己的专栏。如果没有商品在不同日期出售,则该表应为空 上述示例的结果应如下所示: 我已经尝试了以下SQL代码: SELECT Date, AVG(Sales) FROM data GROUP BY Date ORDER BY Date asc; 这段代码只是对表进行分组,并在一列中汇总销售额 提前感谢您的帮助 当

我有一个sql表,其中包括多篇文章及其在不同日期的相应销售事务。 下面是一个示例表:

我需要将这些表按日期分组,并总结每种产品的销售额。不同的产品现在应该显示为列。所以每篇文章都有自己的专栏。如果没有商品在不同日期出售,则该表应为空

上述示例的结果应如下所示:

我已经尝试了以下SQL代码:

SELECT Date, AVG(Sales) FROM data GROUP BY Date ORDER BY Date asc;
这段代码只是对表进行分组,并在一列中汇总销售额


提前感谢您的帮助

当表达式

SELECT Date, 
       sum(case when article='A' then Sales end) as articleA
       sum(case when article='B' then Sales end) as articleB
FROM data GROUP BY Date

当表达式

SELECT Date, 
       sum(case when article='A' then Sales end) as articleA
       sum(case when article='B' then Sales end) as articleB
FROM data GROUP BY Date
您也可以使用IF

SELECT Date, 
       sum(if(article='A' , Sales,0)) as articleA
       sum(if(article='B', Sales ,0)) as articleB
FROM data GROUP BY Date
您也可以使用IF

SELECT Date, 
       sum(if(article='A' , Sales,0)) as articleA
       sum(if(article='B', Sales ,0)) as articleB
FROM data GROUP BY Date

非常感谢你!这是工作性能。非常感谢!这是工作性能。