mysql行转列如何实现

1.png

问题 如图行转列 如何实现红字部分的表格,月份有12个

勇敢的打工人 发布于 2022-6-9 15:59 (编辑于 2022-6-9 15:59)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共4回答
最佳回答
0
CD20160914Lv8专家互助
发布于2022-6-9 15:59(编辑于 2022-6-9 16:00)

MySql行转列&列转行_m0_49844045的博客-CSDN博客_mysql行转列

12个月其实就直接case when 11次也可以。这个简单

  • 勇敢的打工人 勇敢的打工人(提问者) 这个不行的,这个 是固定的语文数学英语,我这是月份每年都是变的
    2022-06-09 16:01 
  • CD20160914 CD20160914 回复 勇敢的打工人(提问者) 你直接参数上面链接的方式。。转就行了。。。
    2022-06-09 16:02 
  • CD20160914 CD20160914 回复 勇敢的打工人(提问者) 在帆软直接放字段横向扩展也是可以的。。。
    2022-06-09 16:04 
  • 勇敢的打工人 勇敢的打工人(提问者) 回复 CD20160914 帆软我知道好处理,这块是要sql处理
    2022-06-09 16:07 
  • CD20160914 CD20160914 回复 勇敢的打工人(提问者) sql就是上面链接有很多方法的呀。。。上面链接有7种方式。你自己选择适合你的。。
    2022-06-09 16:08 
最佳回答
0
yzm339714Lv6中级互助
发布于2022-6-9 16:11(编辑于 2022-6-9 16:19)

https://zhuanlan.zhihu.com/p/48843262

换这个吧,这个是mysql的

最佳回答
0
yzmr6bZG4234487Lv2见习互助
发布于2022-6-9 16:42(编辑于 2022-6-9 16:42)

使用

select * from 表名

pivot(sum(销量) for 月 in([202201],[202202],[202203],[202204],[202205],[202206],[202207],[202208],[202209],[202210],[202211],[202212])) t1

 函数就可以了

写在数据集那里

最佳回答
0
shinger@126.comLv2见习互助
发布于2022-6-13 11:18

很难理解,你为什么要执着于用SQL来处理行专列。帆软处理不是性能更好么?如果是必须用SQL处理,并且每天数据都变得话,那得用变量加上动态语句处理了;

  • 5关注人数
  • 710浏览人数
  • 最后回答于:2022-6-13 11:18
    请选择关闭问题的原因
    确定 取消
    返回顶部