-- 示例代码:使用 MySQL 的行转列(PIVOT)功能
-- 假设有一个销售数据表 sales,结构如下:
-- | id | product | region | amount |
-- |----|---------|--------|--------|
-- | 1 | A | North | 100 |
-- | 2 | B | North | 150 |
-- | 3 | A | South | 200 |
-- | 4 | B | South | 250 |
-- 我们希望将区域(region)作为列,产品(product)作为行,汇总每个产品的销售额。
-- 使用 CASE WHEN 实现行转列
SELECT
product,
SUM(CASE WHEN region = 'North' THEN amount ELSE 0 END) AS North,
SUM(CASE WHEN region = 'South' THEN amount ELSE 0 END) AS South
FROM sales
GROUP BY product;
-- 解释说明:
-- 1. 使用 CASE WHEN 语句根据不同的 region 进行条件判断。
-- 2. 对于每个 product,分别计算 North 和 South 区域的销售额总和。
-- 3. 最后通过 GROUP BY 按照 product 分组,得到每个产品的汇总结果。
上一篇:mysql截取
下一篇:mysql创建临时表
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站