-- 示例数据表:sales
-- 假设我们有一个销售记录表,包含销售人员的名字和每个月的销售额。
CREATE TABLE sales (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50),
month VARCHAR(20),
amount DECIMAL(10, 2)
);
-- 插入一些示例数据
INSERT INTO sales (name, month, amount) VALUES
('Alice', 'Jan', 1500.00),
('Alice', 'Feb', 1800.00),
('Alice', 'Mar', 2000.00),
('Bob', 'Jan', 1200.00),
('Bob', 'Feb', 1400.00),
('Bob', 'Mar', 1600.00);
-- 使用 CASE WHEN 进行行转列
SELECT
name,
SUM(CASE WHEN month = 'Jan' THEN amount ELSE 0 END) AS Jan,
SUM(CASE WHEN month = 'Feb' THEN amount ELSE 0 END) AS Feb,
SUM(CASE WHEN month = 'Mar' THEN amount ELSE 0 END) AS Mar
FROM sales
GROUP BY name;
-- 解释:
-- 这个查询将每个月的销售额从行数据转换为列数据。通过使用 CASE WHEN 语句,
-- 我们可以针对每个销售人员在不同的月份创建单独的列,并计算每个月的总销售额。
-- 最后通过 GROUP BY 按照销售人员分组,得到每个销售人员在不同月份的销售额。
上一篇:mysql 删除表
下一篇:mysql 创建数据库
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站