当前位置: 首页 > 编程笔记 >

MySQL横纵表相互转化操作实现方法

都阳辉
2023-03-14
本文向大家介绍MySQL横纵表相互转化操作实现方法,包括了MySQL横纵表相互转化操作实现方法的使用技巧和注意事项,需要的朋友参考一下

本文实例讲述了MySQL横纵表相互转化操作实现方法。分享给大家供大家参考,具体如下:

先创建一个成绩表(纵表)

create table user_score
(
  name varchar(20),
  subjects varchar(20),
  score int
);
insert into user_score(name,subjects,score) values('张三','语文',60);
insert into user_score(name,subjects,score) values('张三','数学',70);
insert into user_score(name,subjects,score) values('张三','英语',80);
insert into user_score(name,subjects,score) values('李四','语文',90);
insert into user_score(name,subjects,score) values('李四','数学',100);

再创建一个成绩表(横表)

create table user_score2
(
  name varchar(20),
  yuwen int,
  shuxue int,
  yingyu int
);
insert into user_score2(name,yuwen,shuxue,yingyu) values('张三',60,70,80);
insert into user_score2(name,yuwen,shuxue,yingyu) values('李四',90,100,0);

纵表转横表

select name,sum(case subjects when '语文' then score else 0 end) 
as '语文',sum(case subjects when '数学' then score else 0 end) 
as '数学', sum(case subjects when '英语' then score else 0 end) 
as '英语'from user_score group by name;

纵表转横表

SELECT  name,'yuwen'  AS   subjects,yuwen  AS  score  FROM  user_score2  UNION  ALL  
SELECT  name,'shuxue'  AS   subjects,shuxue  AS  score  FROM  user_score2 UNION  ALL  
SELECT  name,'yingyu'  AS   subjects,yingyu  AS  score  FROM  user_score2 
ORDER BY name,subjects DESC; 

更多关于MySQL相关内容感兴趣的读者可查看本站专题:《MySQL查询技巧大全》、《MySQL事务操作技巧汇总》、《MySQL存储过程技巧大全》、《MySQL数据库锁相关技巧汇总》及《MySQL常用函数大汇总》

希望本文所述对大家MySQL数据库计有所帮助。

 类似资料:
  • 本文向大家介绍golang 实现struct、json、map互相转化,包括了golang 实现struct、json、map互相转化的使用技巧和注意事项,需要的朋友参考一下 一、Json和struct互换 (1)Json转struct例子: 输出: 注意json里面的key和struct里面的key要一致,struct中的key的首字母必须大写,而json中大小写都可以。 (2)struct转j

  • 本文向大家介绍php中实现xml与mysql数据相互转换的方法,包括了php中实现xml与mysql数据相互转换的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了php中实现xml与mysql数据相互转换的方法。分享给大家供大家参考。具体分析如下: 这里提供了一个mysql2xml转换类,可以快速的把xml转换成mysql同时反之也可以把mysql转换成xml,下面看代码. mysql

  • 我有一个bean要向InfluxDB报告。数据库在表中有注册的INFLUX\u DB\u服务器。如果你看一下代码,你会发现方法reportMemory做了很多工作,它构造了一个测量和do调用,当没有InfluxDB时,所有这些工作都是无用的。 所以我们的想法是,如果没有影响数据库,就跳过这项工作。由于公共无效方法不返回值,它对周围的应用程序没有影响。 我能做的是编写一个方法isWorkPossib

  • 本文向大家介绍Python操作MySQL简单实现方法,包括了Python操作MySQL简单实现方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Python操作MySQL简单实现方法。分享给大家供大家参考。具体分析如下: 一、安装: 安装MySQL 安装MySQL不用多说了,下载下来安装就是,没有特别需要注意的地方。 一个下载地址:点击打开链接 二、示例: 希望本文所述对大家的Pytho

  • 本文向大家介绍PHP实现数组和对象的相互转换操作示例,包括了PHP实现数组和对象的相互转换操作示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了PHP实现数组和对象的相互转换操作。分享给大家供大家参考,具体如下: 关于php中想让对象以数组的形式访问,这时候就需要使用到get_object_vars()函数了。先来介绍一下这个函数。 官方文档是这样解释的: 返回由 obj 指定的对象中定

  • 指定字符集建库 mysql> create database app default charset utf8; # 指定字符集建库 Query OK, 1 row affected (0.00 sec) mysql> show create database app\G #查看建库语句以及库的字符集 *************************** 1. row *************