一,MySQL行转列

导入数据表数据

CREATE TABLE `tb_student_grade`  (`id` int(0) NOT NULL AUTO_INCREMENT,`s_name` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,`course` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,`score` float NULL DEFAULT 0,PRIMARY KEY (`id`) USING BTREE
)
INSERT INTO `tb_student_grade` VALUES (1, '张三', '语文', 85);
INSERT INTO `tb_student_grade` VALUES (2, '张三', '数学', 92);
INSERT INTO `tb_student_grade` VALUES (3, '张三', '英语', 87);
INSERT INTO `tb_student_grade` VALUES (4, '李四', '语文', 96);
INSERT INTO `tb_student_grade` VALUES (5, '李四', '数学', 89);
INSERT INTO `tb_student_grade` VALUES (6, '李四', '英语', 100);
INSERT INTO `tb_student_grade` VALUES (7, '王五', '语文', 91);
INSERT INTO `tb_student_grade` VALUES (8, '王五', '数学', 83);
INSERT INTO `tb_student_grade` VALUES (9, '王五', '英语', 98);

导入之后查询数据列表

对数据进行 行转列 操作,效果图:


行转列 sql语句

SELECTs_name AS '姓名',MAX( CASE course WHEN '语文' THEN score ELSE '' END ) AS '语文',MAX( CASE course WHEN '数学' THEN score ELSE '' END ) AS '数学',MAX( CASE course WHEN '英语' THEN score ELSE '' END ) AS '英语'
FROMtb_student_grade
GROUP BYs_name

二,MySQL 列转行

导入数据表数据

CREATE TABLE `tb_student_grade2`  (`id` int(0) NOT NULL AUTO_INCREMENT,`s_name` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,`yuwen` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,`shuxue` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,`yingyu` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,PRIMARY KEY (`id`) USING BTREE
)
INSERT INTO `tb_student_grade2` VALUES (1, '张三', '85', '92', '87');
INSERT INTO `tb_student_grade2` VALUES (2, '李四', '96', '89', '100');
INSERT INTO `tb_student_grade2` VALUES (3, '王五', '91', '83', '98');

导入后查询数据列表结果集

对数据进行 列转行 操作,效果图

列转行 sql语句

SELECT s_name,'语文' as course,yuwen as score FROM tb_student_grade2 UNION
SELECT s_name,'数学' as course,shuxue as score FROM tb_student_grade2 UNION
SELECT s_name,'英语' as course,yingyu as score FROM tb_student_grade2;

按名字排序,效果图:

sql数据

select a.s_name,a.course,a.score
from(SELECT s_name,'语文' as course,yuwen as score FROM tb_student_grade2 UNION
SELECT s_name,'数学' as course,shuxue as score FROM tb_student_grade2 UNION
SELECT s_name,'英语' as course,yingyu as score FROM tb_student_grade2) a
order by a.s_name;

完毕 !!

MySQL数据库行转列,列转行相关推荐

  1. 数据库-行存储及列存储区别

    参考:https://blog.csdn.net/Xingxinxinxin/article/details/80939277 目录 概述 什么是列存储? 在数据写入上的对比 在数据读取上的对比 优缺 ...

  2. python读取mysql数据库行数_使用python读取mysql数据库并进行数据的操作

    (一)环境的配置 使用python调用mysql数据库要引进一些库. 目前我使用的python版本是python3.6.引进库为pymysql 其他对应的库可以有以下选择: mysqldb,oursq ...

  3. 将Excel文件导入到MySQL数据库中并实现列转行操作

    在处理数据的时候,因为数据源在Excel文件中,本人Excel文件的处理方法不是太会,加上朋友说在Excel中处理这样的数据很麻烦,我就想着干脆导入到数据库中通过代码解决这个问题,感兴趣的可以找我拿数 ...

  4. quotename mysql_在MySQL中将行记录转换为列

    MySQL版本 您已经声明过尝试使用PIVOT,但是MySQL没有PIVOT函数.在MySQL中,您需要将聚合函数与条件逻辑语句(如CASE - WHEN或类似的东西)一起使用.您还需要旋转几个表和几 ...

  5. mysql 多行转换多列 列不确定_多行转多列,行数和列数不确定

    原始需求,有2表如下 SQL> select * from mas; TO TOOLNAME -- ---------- 01 包裹 02 信函 03 挂号信 04 中国速递 05 EMS 06 ...

  6. mysql将行显示成列_mysql – 在表中将行显示为列

    我有一张像下面这样的表 CREATE TABLE Statistics(Stat_Id INT NOT NULL PRIMARY KEY AUTO_INCREMENT, Period VARCHAR( ...

  7. mysql分组区某列最后一条_[MySQL]MySQL数据库如何按某列分组排序后查询每个分组的最后一条数据?...

    比如当前有如下的消息表(messages)及示例数据: Id Name Other_Columns ------------------------- 1 A A_data_1 2 A A_data_ ...

  8. mysql修改表的备注信息_修改mysql 数据库的 表的列的备注信息

    1 INFORMATION_SCHEMA提供了访问数据库元数据的方式. 元数据是关于数据的数据,如数据库名或表名,列的数据类型,或访问权限等.有些时候用于表述该信息的其他术语包括"数据词典& ...

  9. oracle数据库行转化成列,ORACLE行转列(行转一列,行转多列)

    --listagg(合并多行的值为字符串,只用一列来显示) select status, count(*), listagg(risk_id, ',') within group (order by ...

最新文章

  1. linux 由一个文件夹复制到另外一个文件夹
  2. 每日一淘完成1.3亿美元融资,元生资本、DCM领投,SIG联合投资
  3. Linux下升级python2.4-python2.7
  4. 【模板/经典题型】FWT
  5. 2012matlab aerospace,Matlab 2012安装图解
  6. 【机器视觉】Qt集成Halcon开发环境详解(二)
  7. 从一个案例看MVC中DataContext和UpdateModel的工作原理(详解UpdateModel/SubmitChanges错误)...
  8. python画树干_python教你画一棵树
  9. iOS自动打开闪光灯
  10. thymeleaf使用总结
  11. Linux文件与目录常用操作
  12. mybatis-plus批量insert效率低下怎么办(mysql)
  13. qpython3 l_QPython 3(com.hipipal.qpy3) - 3.0.0 - 应用 - 酷安网
  14. 维盟路由器pppoe服务配置(价值80元的帖子)
  15. R语言使用:符号生成向量数据、使用pie函数可视化饼图、自定义设置饼图色彩为彩虹色
  16. Jacob 操作 outlook 发邮件 遍历文件夹邮件 移动邮件
  17. 2023 年 IEEE Fellow 名单公布!唐立新、姬水旺、宗成庆、朱军、宋厚冰等入选
  18. 入职体检(三甲医院)
  19. 一文总结 Google I/O 2023
  20. ubuntu18.04安装Cosmos Scaffold遇到的问题及解决方案

热门文章

  1. ubuntu 14.04 双节点、双网卡安装和配置openstack
  2. xshell7提示需更新,但更新后仍无法使用问题
  3. 上市公司板块其他分类
  4. Python编程从入门到精通:7-8熟食店练习题
  5. AutoCAD Electrical 2022—项目特性
  6. jQuery基础,定位标签,下拉菜单,样式操作,获取值(帐号、密码)
  7. 超六类网线和六类网线的网口都是一样的吗?
  8. JMH230-【亲测】首家整理全套【剑侠情缘网络版Ⅱ】剑网2+降龙端+外网+视频搭建+各种配套工具
  9. 微信共享会议室预约小程序系统设计与实现
  10. linux sysctl机制,Linux系统控制文件 /etc/sysctl.conf