mysql 列转行union all_sql:mysql:列转行(转为多个字段)
建表语句:
CREATE TABLE tb_score1(
id INT(11) NOT NULL auto_increment,
userid VARCHAR(20) NOT NULL COMMENT '用户id',
cn_score DOUBLE COMMENT '语文成绩',
math_score DOUBLE COMMENT '数学成绩',
en_score DOUBLE COMMENT '英语成绩',
po_score DOUBLE COMMENT '政治成绩',
PRIMARY KEY(id)
)ENGINE = INNODB DEFAULT CHARSET = utf8;
INSERT INTO tb_score1(userid,cn_score,math_score,en_score,po_score) VALUES ('001',90,92,80,0);
INSERT INTO tb_score1(userid,cn_score,math_score,en_score,po_score) VALUES ('002',88,90,75.5,0);
INSERT INTO tb_score1(userid,cn_score,math_score,en_score,po_score) VALUES ('003',70,85,90,82);
查询数据表中的内容(即转换前的结果):
先看一下转换后的效果:
本质是将userid的每个科目分数分散成一条记录显示出来。
SELECT userid,'语文' AS course,cn_score AS score FROM tb_score1
UNION ALL
SELECT userid,'数学' AS course,math_score AS score FROM tb_score1
UNION ALL
SELECT userid,'英语' AS course,en_score AS score FROM tb_score1
UNION ALL
SELECT userid,'政治' AS course,po_score AS score FROM tb_score1
ORDER BY userid
这里将每个userid对应的多个科目的成绩查出来,通过UNION ALL将结果集加起来,达到上图的效果。
附:UNION与UNION ALL的区别(摘):
1.对重复结果的处理:UNION会去掉重复记录,UNION ALL不会;
2.对排序的处理:UNION会排序,UNION ALL只是简单地将两个结果集合并;
3.效率方面的区别:因为UNION 会做去重和排序处理,因此效率比UNION ALL慢很多;
mysql 列转行union all_sql:mysql:列转行(转为多个字段)相关推荐
- mysql 列转行union all_SQL查询案例:列行转换[列转行, 使用 UNION ALL 处理]
SQL查询案例:列行转换[列转行, 使用 UNION ALL 处理] 在行列转换的处理之后, 有时候会遇到,要列行装换的 CREATE TABLE TestColRow ( name VARCHA ...
- mysql 列转行union all_SQL查询案例:列行转换[列转行, 使用 UNION ALL 处理] | 学步园...
SQL查询案例:列行转换[列转行, 使用 UNION ALL 处理] 在行列转换的处理之后, 有时候会遇到,要列行装换的 CREATE TABLE TestColRow ( name VARCHA ...
- 不使用union实现Mysql 列转行
最近工作上用到了 mysql列转行,网上找了一堆大多数都是行转列的方法,对于列转行这块,仅找到了union这一种方式,偏偏工作环境的数据库版本较低不支持临时表,使用union方式写起来又过于笨重,所以 ...
- mysql 列转行union all_mysql的 行转列(7种方法) 和 列转行
# 一.行转列 # 即将原本同一列下多行的不同内容作为多个字段,输出对应内容. 建表语句 DROP TABLE IF EXISTS tb_score; CREATE TABLE tb_score( i ...
- mysql 行转列查询优化_行转列及列转行查询
开发过程中常遇到行转列或是列转行的问题,即需要将数据库中一张表信息进行行转列操作,再将每列(即每个字段)作为与其他表进行联表查询的字段进行显示. 一.行转列:将原来同一列下多行的不同内容作为多个字段, ...
- mysql列转行统计查询_Mysql 列转行统计查询 、行转列统计查询
Mysql group_concat函数列转行,与行转列 例一: SELECT num from user 1.使用group_concat函数得到列转行 select group_concat(nu ...
- mysql行转列和列转行_Mysql中行转列和列转行
一.行转列 即将原本同一列下多行的不同内容作为多个字段,输出对应内容. 建表语句 DROP TABLE IF EXISTS tb_score; CREATE TABLE tb_score( id IN ...
- matlab 列转行,postgresql 行转列,列转行后加入到一个整体数据
这里行转列的基本思想就是使用max,因为其他列下面都是NULL,所以可以Max最后就只能得到有值的这行 普通的查询: SELECT icd , case when (ROW_NUMBER() OVER ...
- SQL 列转行、行转列 - 使用sqlite演示
一 列转行 CREATE TABLE test1(ID INT PRIMARY KEY NOT NULL,NAME VARCHAR(50) NOT NULL,语文 INT,数学 INT,英语 INT ...
最新文章
- JavaWeb-网站在线用户信息、网站访问量以及管理踢出用户实例
- asp.net 播放flash
- logo qt添加_linux下如何给qt程序添加图标?
- 《JAVA程序设计》第八周学习总结
- oh-my-zsh 国内网络快速安装方法 | How to install oh-my-zsh in China
- could not change product header data even after switching to change mode
- node --- 在node中使用mongoosemongoDB的安装
- [收集]Sublime Text 3常用快捷键
- 详解用65行javascript代码做Flappy Bird
- fresco使用中圆角出现了黑边
- python3 robotframework+pycharm框架搭建
- java 栈队列区别是什么意思_java栈和队列的区别
- 博弈论与逻辑思维(传教士与妻子忠贞的问题)
- 【图像几何】基于matlab GUI傅立叶+DCT图像变换【含Matlab源码 844期】
- devc调试设置断点后没有反应_基于VSCode的skynet调试器
- Android 中Goolgle 相关服务的移植
- 苹果手机使用计算机网络,苹果安卓手机使用usb共享网络给win10电脑的操作方法...
- Pyecharts基本图:饼图
- OpenCv图像处理之图像视频摄像头读取和保存
- 【数据结构】二叉树的节点总个数、叶子节点个数、第K层节点个数、二叉树的深度
热门文章
- ath9k驱动内的数据发送过程
- 吊打面试官!Spring Boot的35道灵魂拷问面试题,看看你能答对多少?
- 元旦的庆贺,是每家每户的快乐
- java数组从小到大排序
- 2.8 高收藏率小红书笔记怎么写?试一试这7类方法吧【玩赚小红书】
- Liunx7 DNS服务器正反解析,域名转发
- 实训:网站诊断分析(12.10)
- springboot 图片映射404问题
- [介绍] SymbolSort, 帮你避免或减少代码膨胀 (Code Bloat)
- SDN in Action: Practice SDN/OpenFlow with LINC-Switch and OpenDaylight