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

mysql 行列转换

作者:泪﹌无痕   发布日期:2026-03-06   浏览:96

-- 示例代码:MySQL 行列转换(行转列)

-- 假设我们有一个名为 sales 的表,结构如下:
-- +----+--------+-------+
-- | id | name   | value |
-- +----+--------+-------+
-- | 1  | Alice  | 100   |
-- | 2  | Bob    | 200   |
-- | 3  | Alice  | 150   |
-- | 4  | Charlie| 300   |
-- +----+--------+-------+

-- 我们希望将 name 列的不同值转换为列,并计算每个 name 对应的 value 总和。

-- 使用 CASE WHEN 实现行列转换
SELECT 
    SUM(CASE WHEN name = 'Alice' THEN value ELSE 0 END) AS Alice,
    SUM(CASE WHEN name = 'Bob' THEN value ELSE 0 END) AS Bob,
    SUM(CASE WHEN name = 'Charlie' THEN value ELSE 0 END) AS Charlie
FROM sales;

-- 结果:
-- +-------+-----+---------+
-- | Alice | Bob | Charlie |
-- +-------+-----+---------+
-- | 250   | 200 | 300     |
-- +-------+-----+---------+

-- 解释:
-- 1. 使用 CASE WHEN 语句根据不同的 name 值进行条件判断。
-- 2. 对每个 name 分别求 value 的总和。
-- 3. 最终结果将 name 列的不同值转换为列,并显示对应的汇总值。

上一篇:mysql中两个日期之间的天数

下一篇:mysql 随机

大家都在看

mysqlavg函数保留小数

mysql显示表内容

mysql经纬度距离计算

mysql 加密

存储过程mysql

mysql 1265

mysql with语句

mysql时间加减

mysql查询表名,模糊匹配

brew 启动mysql

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

Laravel 中文站