mysql中动态行转列
在 MySQL 中实现动态行转列,一种常见的方法是使用 CASE 表达式和聚合函数。以下是一个简单的示例:
假设我们有一个表 sales,包含产品销售数据:
现在我们想要将月份作为列名,产品销售额作为值,进行动态行转列。
SELECT
product_id,
SUM(CASE WHEN month = 'January' THEN amount ELSE 0 END) AS January,
SUM(CASE WHEN month = 'February' THEN amount ELSE 0 END) AS February
FROM
sales
GROUP BY
product_id;
以上查询将会得到以下结果:
这里使用了 CASE 表达式将每个月份的销售额进行了聚合,并使用了 SUM 函数对结果进行求和。