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

mysql行转列的方法

作者:伪言   发布日期:2025-08-29   浏览:99

-- 示例数据表: sales
-- +----+--------+-------+
-- | id | month  | sales |
-- +----+--------+-------+
-- | 1  | Jan    | 100   |
-- | 1  | Feb    | 150   |
-- | 1  | Mar    | 200   |
-- | 2  | Jan    | 120   |
-- | 2  | Feb    | 180   |
-- | 2  | Mar    | 250   |
-- +----+--------+-------+

-- 使用 CASE WHEN 实现行转列
SELECT 
    id,
    MAX(CASE WHEN month = 'Jan' THEN sales END) AS Jan,
    MAX(CASE WHEN month = 'Feb' THEN sales END) AS Feb,
    MAX(CASE WHEN month = 'Mar' THEN sales END) AS Mar
FROM sales
GROUP BY id;

-- 解释说明:
-- 1. 使用 CASE WHEN 语句将每个月的销售额转换为列。
-- 2. 使用 MAX 函数是因为在每个 id 和 month 的组合中只会有一个值,MAX 可以确保我们获取到该值。
-- 3. GROUP BY id 是为了按 id 分组,从而实现每个 id 对应一行的结果。

上一篇:mysql 调用存储过程

下一篇:mysql char

大家都在看

mysqlavg函数保留小数

mysql显示表内容

mysql经纬度距离计算

存储过程mysql

mysql with语句

mysql时间加减

brew 启动mysql

unsigned在mysql中是什么意思

mysql 备份恢复

mysql 插入更新

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

Laravel 中文站