Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

mysql行转列

作者:ˉ吻干迩的'泪   发布日期:2025-03-23   浏览:58

-- 示例数据表: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 创建数据库

大家都在看

mysqlavg函数保留小数

mysql经纬度距离计算

存储过程mysql

mysql with语句

mysql时间加减

brew 启动mysql

unsigned在mysql中是什么意思

mysql 插入更新

mysql.user

python mysql update

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站