侧边栏壁纸
博主头像
落叶人生博主等级

走进秋风,寻找秋天的落叶

  • 累计撰写 130562 篇文章
  • 累计创建 28 个标签
  • 累计收到 9 条评论
标签搜索

目 录CONTENT

文章目录

MySQL数据库行列互换

2024-02-21 星期三 / 0 评论 / 0 点赞 / 27 阅读 / 1832 字

如有如下表格: 仓库库存表(inventory) 仓库名称(name) 仓库库存(stock) 月份(month) A 10

如有如下表格:

                      仓库库存表(inventory)

仓库名称(name) 仓库库存(stock) 月份(month)
A 100 1
B 200 1
C 300 1
A 1000 2
B 2000 2
C 3000 2

行列互换为以下表格:

仓库名字(name) 一月份 二月份
A 100 1000
B 200 2000
C 300 3000

MySQL数据库行列互换:

使用if语句判断: if(表达式,v1,v2)

表达式为:

select 
        仓库名称,
        max(判断 月份=1 显示库存),  
        max(判断 月份=2 显示库存),
        max(判断 月份=3 显示库存) 
    from 表名
    group by 仓库名称;

注意:关于max这个也可以其他的,这里只是用作判断的嵌套。sum等也可以。

具体实现:

select name as 仓库名称,max(if(month='1’,stock,0)) as 一月份,max(if(month='2',stock,0)) as 二月份 from inventory group by 仓库名称;

广告 广告

评论区