mysql横向转纵向、纵向转横向排列的方法

吾爱主题 阅读:219 2024-04-01 23:50:44 评论:0

初始化数据

?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 drop table if exists `test_01`; create table `test_01` (   `id` int (0) not null ,   ` user ` varchar (255) character set utf8mb4 collate utf8mb4_0900_ai_ci null default null comment '用户' ,   `km` varchar (255) character set utf8mb4 collate utf8mb4_0900_ai_ci null default null comment '科目' ,   `fs` varchar (255) character set utf8mb4 collate utf8mb4_0900_ai_ci null default null comment '分数' ,   ` time ` datetime(0) null default null comment '时间' ,   primary key (`id`) using btree ) engine = innodb character set = utf8mb4 collate = utf8mb4_0900_ai_ci row_format = dynamic ;   insert into `test_01` values (1, '小三' , '语文' , '98' , '2020-08-06 15:51:21' ); insert into `test_01` values (2, '小三' , '数学' , '90' , '2020-07-01 15:51:25' ); insert into `test_01` values (3, '小三' , '英语' , '77' , '2020-06-01 15:51:28' ); insert into `test_01` values (4, '小二' , '英语' , '78' , '2020-06-01 15:51:28' );

一、横向转纵向排列

?
1 2 3 4 5 6 7 8 select      user ,      sum ( case when km = "语文" then fs else 0 end ) "语文" ,      sum ( case when km = "数学" then fs else 0 end ) "数学" ,      sum ( case when km = "英语" then fs else 0 end ) "英语" from      test_01 group by user

二、纵向转横向排列

?
1 2 3 select km from test_01 where id = 1 union select fs from test_01 where id = 1

到此这篇关于mysql横向转纵向、纵向转横向排列的方法的文章就介绍到这了,更多相关mysql横向转纵向、纵向转横向排列内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/weixin_44325655/article/details/107841272

可以去百度分享获取分享代码输入这里。
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

【腾讯云】云服务器产品特惠热卖中
搜索
标签列表
    关注我们

    了解等多精彩内容