mysql 行转列

摘要:
1.表数据2.结果数据创建`TEST_ TB_ GRADE`(`ID`int(10)NOTNULLAUT_INCREMENT,`USER_ NAME`varchar(20)DEFAULTNULL,`COURSE`varchar(20)REFAULTNULL、`SCORE`floatDEFAULT'0',PRIMARYKEY(`ID`))ENGINE=InnoDB AUTO_ INCREMENT

1.表数据

mysql 行转列第1张

2.结果数据

mysql 行转列第2张

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);

行转列SQL:

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;

 参考:https://www.cnblogs.com/ken-jl/p/8570518.html

免责声明:文章转载自《mysql 行转列》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇DB2sql——DB2临时表的创建flink常用命令下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

ansible实现mysql数据库主从复制

ansible-playbook实战之批量部署mysql主从同步 简介 ansible-playbook实战之批量安装mysql介绍了如何批量安装mysql,本篇博文用于按照自定义的参数批量部署mysql主从同步。 ansible-playbook配置思路: ansible配合使用mysql_user、mysql_db、mysql_replication在...

关于MYSQL字符集问题(一)

  MySQL的字符集支持(Character Set Support)有两个方面:     字符集(Character set)和排序方式(Collation)。   对于字符集的支持细化到四个层次:     服务器(server),数据库(database),数据表(table)和连接(connection)。MySQL默认字符集   MySQL对于...

MySQL下载安装、基本配置、问题处理

一 mysql介绍 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下公司。MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。 mysql是什么???...

MySQL高级知识(八)——ORDER BY优化

前言:在使用order by时,经常出现Using filesort,因此对于此类sql语句需尽力优化,使其尽量使用Using index。 0.准备 #1.创建test表。 drop table if exists test; create table test( id int primary key auto_increment, c1 var...

mysql反向解析导致连接缓慢

Content 0.序 1.问题 2.原因 3.解决办法 0.序 本文主要是记录Mysql安装在 VMWARE下,本地连接Mysql速度很慢的原因及解决办法。 1.问题 本地的一个网站使用mysql数据库,局域网内访问时连接速度很慢,每次都要过十几秒后才能连上,只要连接上了速度正常。 2.原因 在安装Mysql时候,默认会打开反向解析,因此局域网访问MyS...

(7) MySQL数据库备份详解

对于任何数据库来说,备份都是非常重要的 数据库复制不能取代备份的作用 比如我们由于误操作,在主数据库上删除了一些数据,由于主从复制的时间很短,在发现时,从数据库上的数据可能也已经被删除了, 我们不能使用从数据库上的数据来恢复主数据库上的数据,只能通过备份进行误删除数据的恢复 一. 备份的分类 1.按备份的结果来分: 逻辑备份 其备份结果为SQL语句,适合于...