mysql数据横表变成竖表_MySQL中横表和竖表相互转换

一  竖表转横表

1. 首先创建竖表

create table student (

id varchar(32) primary key,

name varchar (50) not null,

subject varchar(50) not null,

result int);

2.  插入数据

insert into student (id, name, subject, result) values ('0001', '小明', '语文', 83);

insert into student (id, name, subject, result) values ('0002', '小明', '数学', 97);

insert into student (id, name, subject, result) values ('0003', '小明', '英语', 93);

insert into student (id, name, subject, result) values ('0004'', '小白', '语文', 93);

insert into student (id, name, subject, result) values ('0005', '小白', '数学', 93);

insert into student (id, name, subject, result) values ('0006', '小白', '英语', 95);

3. 查询数据

select * from student;

31220940546f67bf22e1ff6c4c9c58a9.png

4. 想要将数据显示为横表, 即如下形式

c8e31392c1488c6d225088ad0c1524c8.png

废话不多说了, 直接上sql语句:

select name as '姓名',

max(case subject when '语文' then result else 0 end) '语文',

max(case subject when '数学' then result else 0 end) '数学',

max(case subject when '英语' then result else 0 end) '英语'

from student group by name;

二, 横表变竖表

1.  创建横表

create table student1 (

id varchar(32) primary key,

姓名 varchar(50) not null,

语文 int,

数学 int,

物理 int

);

2.  插入数据

insert into student1 (id, 姓名, 语文, 数学, 物理) values ('0001','小张', 93, 84, 99);

insert into student1 (id, 姓名, 语文, 数学, 物理) values ('0002','小马', 86, 92, 90);

3.  查询数据

select * from student1;

3b8adda8499e09d9ac40be1174d26026.png

4. 将横表数据转换为竖表的形式, 即如下形式:

0b4ae9fb199a0d964b7366b8f0ef6c9f.png

对应的sql语句:

select*from

(

select 姓名 as Name , '语文' as Subject , 语文 as result from student1

union all

select 姓名 as Name , '数学' as Subject , 数学 as result from student1

union all

select 姓名 as Name , '物理' as Subject , 物理 as result from student1

) t

order by name;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/327879.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java压缩技术(二) ZIP压缩——Java原生实现

转载自 Java压缩技术(二) ZIP压缩——Java原生实现 查过相关资料后才知道,ZIP应该算作归档类的压缩算法,每一门学科都可深可浅! 闲言少叙,先说ZIP压缩。 zip压缩需要通过ZipOutputStream 执行write方法将…

总结尚硅谷的视频springboot视频

这16个章节也就讲个大概,更多内容需要你自己去学习。 第1章尚硅谷SpringBoot入门 P01、尚硅谷_SpringBoot_入门-课程简介 P02、尚硅谷_SpringBoot_入门-Spring Boot简介 P03、尚硅谷_SpringBoot_入门-微服务简介 P04、尚硅谷_SpringBoot_入门-环境准备 P05、尚硅谷_…

微软加入Linux基金会共建开源生态,并对谷歌加入.NET社区的举措表示欢迎

纽约 — 2016年11月16日 — 在周三的年度性Connect();开发者大会上,微软公司公布了一系列产品与合作,以此为基础帮助开发者打造智能的跨平台应用和服务,进而强化微软在Azure云平台方面的优势。微软全球执行副总裁兼云计算与企业事业部负责人 …

mybatis配置mysql连接数_springBoot配置mybatis链接数据库

springBoot配置mybatis链接数据库添加pom包,修改 pom.xml 文件org.mybatis.generatormybatis-generator-core1.3.5org.mybatis.spring.bootmybatis-spring-boot-starter1.3.2mysqlmysql-connector-java修改配置文件application.yml#启动端口server:port: 8001spring:#配置数据源…

Java压缩技术(三) ZIP解压缩——Java原生实现

转载自 Java压缩技术(三) ZIP解压缩——Java原生实现 解压缩与压缩运作方式相反,原理大抵相同,由ZipInputStream通过read方法对数据解压,同时需要通过CheckedInputStream设置冗余校验码,如: J…

19年8月 字母哥 第二章 RESTFul接口实现与测试 看到这里了

第二章 RESTFul接口实现与测试 2.1.RESTFul接口与http协议状态表述 2.2.常用注解开发一个RESTFul接口 2.2看完了 2.3 JSON数据处理与PostMan测试 树哪里是可以加上去的 list<treeNode> listTreeNode; 为空就不显示了 20%是常用的 80%是不常用的 我只是讲解了20…

java实现验证码3秒刷新一次

<?xml version"1.0" encoding"UTF-8"?> <web-app xmlns"http://xmlns.jcp.org/xml/ns/javaee"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://xmlns.jcp.org/xml/ns/javaeehttp://x…

Hibernate中使用Criteria查询及注解——(Dept.hbm.xml)

Dept.hbm.xml 部门表的映射文件: <?xml version"1.0" encoding"utf-8"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd&qu…

CentOS上安装SQL Server vNext CTP1

今天微软正式发布上SQL Server 2016 SP1,根据以往的SP1定律&#xff0c;可以在生产环境上使用了。打了SP1的标准版将具有企业版几乎所有的的功能。只有RAM 超过128GB或者超过24核心或者超过4路的环境才必须要安装企业版。 还有一个重要的发布&#xff1a;SQL Server vNext on L…

python弹出窗口 闪烁_Python。得到闪烁/闪烁的窗口

首先&#xff0c;大多数程序通过调用^{}(或包装它的高级函数)来刷新窗口。但是&#xff0c;有一些应用程序主要来自微软&#xff0c;他们做一些定制的东西&#xff0c;在终端用户看来就像是在闪窗&#xff0c;但在封面下看起来可能不一样。希望你不在乎任何这样的定制应用。在无…

Java压缩技术(七) TAR——Commons实现

转载自 Java压缩技术&#xff08;七&#xff09; TAR——Commons实现 顺便复习一遍linux命令&#xff1a; tar cf <file.tar> <file>将由文件<file>创建名为<file.tar>归档文件&#xff0c;同时保留原文件。 tar xf <file.tar>将由归档文件<…

[干货来袭]MSSQL Server on Linux预览版安装教程(先帮大家踩坑)

前言 昨天晚上微软爸爸开了全国开发者大会,会上的内容,我就不多说了,园子里面很多.. 我们唐总裁在今年曾今透漏过SQL Server love Linux,果不其然,这次开发者大会上就推出了MSSQL Server on Linux预览版 官方地址:https://docs.microsoft.com/zh-cn/sql/linux/ E文好的可以自己…

MVC三层架构理解

MVC三层架构 什么是MVC&#xff1a; Model view Controller 模型、视图、控制器 以前的架构 用户直接访问控制层&#xff0c;控制层就可以直接操作数据库&#xff1b; servlet--CRUD-->数据库 弊端&#xff1a;程序十分臃肿&#xff0c;不利于维护 servlet的代码中&…

spring boot建立项目 git推送giteee

gitee上创建项目时候不要创建readme.md 创建完全空的项目 不然上次会报错的 $ git init 初始化git $ git status $ git add . $ git status $ git commit -am 初次建立项目 $ git remote add origin https://gitee.com/yjb1091947832/yangjiabin.git…

vba mysql update多字段_vba操作Mysql使用UPDATE一次更新多组数据

网上查到综合后确定的update语法范例&#xff1a;UPDATE mytable SET myfield CASE WHEN 1 THEN ‘value‘ WHEN 2 THEN ‘value‘ WHEN 3 THEN ‘value‘ END WHERE id IN (1,2,3)下面是我写的一个通用的update库表内容过程&#xff1a;kku为库表&#xff0c;zd为字段&#x…

Hibernate中使用Criteria查询及注解——(hibernate.cfg.xml)

hibernate.cfg.xml hibernate主配置文件&#xff1a; <?xml version1.0 encodingUTF-8?> <!DOCTYPE hibernate-configuration PUBLIC"-//Hibernate/Hibernate Configuration DTD 3.0//EN""http://hibernate.sourceforge.net/hibernate-configuration…

为什么我不选阿里云(一)

我是资深阿里黑&#xff0c;“资深”体现在我黑阿里和阿里云从来有理有据&#xff0c;我不是小白用户&#xff0c;我本身就是云架构师&#xff0c;我目前主要推荐中国客户上Azure和AWS。 阿里巴巴&#xff08;BABA&#xff09;是一家怎样的公司 阿里巴巴在中国看上去很高大上&a…

Java压缩技术(六) BZIP2——Commons实现

转载自 Java压缩技术&#xff08;六&#xff09; BZIP2——Commons实现 BZip2与GZip有什么渊源&#xff0c;我这里不深究。我要说的只是&#xff0c;这两种算法&#xff0c;你在linux下都可以找到相应的操作命令。GZip 压缩 gzip <file> 将得到压缩文件<file>.gz&…

微信支付师兄

https://www.jianshu.com/writer#/notebooks/41472123/notes/57967685

vpn mysql_MYSQL数据库

1.关系型数据库相关概念关系Relational &#xff1a;关系就是二维表&#xff0c;其中&#xff1a;表中的行、列次序并不重要行row&#xff1a;表中的每一行&#xff0c;又称为一条记录record列column&#xff1a;表中的每一列&#xff0c;称为属性&#xff0c;字段&#xff0c;…