全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

mysql 行转列和列转行实例详解

mysql行转列、列转行

 语句不难,不做多余解释了,看语句时,从内往外一句一句剖析

行转列

       有如图所示的表,现在希望查询的结果将行转成列

       建表语句如下:

CREATE TABLE `TEST_TB_GRADE` (
 `ID` int(10) NOT NULL AUTO_INCREMENT,
 `USER_NAME` varchar(20) DEFAULT NULL,
 `COURSE` varchar(20) DEFAULT NULL,
 `SCORE` float DEFAULT '0',
 PRIMARY KEY (`ID`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
insert into TEST_TB_GRADE(USER_NAME, COURSE, SCORE) values
("张三", "数学", 34),
("张三", "语文", 58),
("张三", "英语", 58),
("李四", "数学", 45),
("李四", "语文", 87),
("李四", "英语", 45),
("王五", "数学", 76),
("王五", "语文", 34),
("王五", "英语", 89);

       查询语句:

       此处用之所以用MAX是为了将无数据的点设为0,防止出现NULL

SELECT user_name ,
  MAX(CASE course WHEN '数学' THEN score ELSE 0 END ) 数学,
  MAX(CASE course WHEN '语文' THEN score ELSE 0 END ) 语文,
  MAX(CASE course WHEN '英语' THEN score ELSE 0 END ) 英语
FROM test_tb_grade
GROUP BY USER_NAME;

       结果展示:

列转行

       有如图所示的表,现在希望查询的结果将列成行

       建表语句如下:

CREATE TABLE `TEST_TB_GRADE2` (
 `ID` int(10) NOT NULL AUTO_INCREMENT,
 `USER_NAME` varchar(20) DEFAULT NULL,
 `CN_SCORE` float DEFAULT NULL,
 `MATH_SCORE` float DEFAULT NULL,
 `EN_SCORE` float DEFAULT '0',
 PRIMARY KEY (`ID`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
insert into TEST_TB_GRADE2(USER_NAME, CN_SCORE, MATH_SCORE, EN_SCORE) values
("张三", 34, 58, 58),
("李四", 45, 87, 45),
("王五", 76, 34, 89);

查询语句:

select user_name, '语文' COURSE , CN_SCORE as SCORE from test_tb_grade2
union select user_name, '数学' COURSE, MATH_SCORE as SCORE from test_tb_grade2
union select user_name, '英语' COURSE, EN_SCORE as SCORE from test_tb_grade2
order by user_name,COURSE;

       结果展示:

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!


# mysql行转列、列转行  # mysql行转列与列转行的实现代码  # mysql 行列动态转换的实现(列联表  # 交叉表)  # mysql 列转行的技巧(分享)  # mysql 列转行  # 合并字段的方法(必看)  # MySQL 中行转列的方法  # 一文弄懂MYSQL如何列转行  # MySQL实现行列转换  # mysql列转行方法超详细讲解  # 搞定mysql行转列的7种方法以及列转行  # MySQL中实现行列转换的操作示例  # MySQL动态列转行的实现示例  # 英语  # 李四  # 王五  # 一句  # 如图所示  # 设为  # 希望能  # 不做  # 谢谢大家  # 往外  # 转成  # 是为了  # 无数据  # ID  # TEST_TB_GRADE  # SCORE  # DEFAULT  # NULL  # AUTO_INCREMENT  # USER_NAME 


相关文章: 如何快速启动建站代理加盟业务?  如何快速生成可下载的建站源码工具?  如何通过主机屋免费建站教程十分钟搭建网站?  建站之星各版本价格是多少?  如何选择服务器才能高效搭建专属网站?  电商网站制作公司有哪些,1688网是什么意思?  Swift中switch语句区间和元组模式匹配  香港服务器网站推广:SEO优化与外贸独立站搭建策略  如何用免费手机建站系统零基础打造专业网站?  公司网站制作价格怎么算,公司办个官网需要多少钱?  道歉网站制作流程,世纪佳缘致歉小吴事件,相亲网站身份信息伪造该如何稽查?  网站按钮制作软件,如何实现网页中按钮的自动点击?  如何快速登录WAP自助建站平台?  家具网站制作软件,家具厂怎么跑业务?  常州自助建站:操作简便模板丰富,企业个人快速搭建网站  如何选择最佳自助建站系统?快速指南解析优劣    较简单的网站制作软件有哪些,手机版网页制作用什么软件?  家族网站制作贴纸教程视频,用豆子做粘帖画怎么制作?  如何用AWS免费套餐快速搭建高效网站?  如何在云主机快速搭建网站站点?  平台云上自主建站:模板化设计与智能工具打造高效网站  韩国服务器如何优化跨境访问实现高效连接?  如何制作一个表白网站视频,关于勇敢表白的小标题?  建站之星免费模板:自助建站系统与智能响应式一键生成  外贸公司网站制作哪家好,maersk船公司官网?  长沙企业网站制作哪家好,长沙水业集团官方网站?  长沙做网站要多少钱,长沙国安网络怎么样?  韩国代理服务器如何选?解析IP设置技巧与跨境访问优化指南  建站之星后台密码遗忘或太弱?如何重置与强化?  油猴 教程,油猴搜脚本为什么会网页无法显示?  创业网站制作流程,创业网站可靠吗?  如何在橙子建站上传落地页?操作指南详解  单页制作网站有哪些,朋友给我发了一个单页网站,我应该怎么修改才能把他变成自己的呢,请求高手指点迷津?  详解一款开源免费的.NET文档操作组件DocX(.NET组件介绍之一)  青岛网站设计制作公司,查询青岛招聘信息的网站有哪些?  如何快速使用云服务器搭建个人网站?  如何在沈阳梯子盘古建站优化SEO排名与功能模块?  如何用5美元大硬盘VPS安全高效搭建个人网站?  建站之星如何一键生成手机站?  已有域名如何快速搭建专属网站?  设计网站制作公司有哪些,制作网页教程?  高性能网站服务器部署指南:稳定运行与安全配置优化方案  小米网站链接制作教程,请问miui新增网页链接调用服务有什么用啊?  C++时间戳转换成日期时间的步骤和示例代码  PHP正则匹配日期和时间(时间戳转换)的实例代码  购物网站制作费用多少,开办网上购物网站,需要办理哪些手续?  北京制作网站的公司,北京铁路集团官方网站?  北京网站制作费用多少,建立一个公司网站的费用.有哪些部分,分别要多少钱?  沈阳个人网站制作公司,哪个网站能考到沈阳事业编招聘的信息? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。