首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

mysql转列简单例子_mysql转列、列转行示例

最近在开发过程中遇到问题,需要将数据库中一张表信息进行行转列操作,再将每列(即每个字段)作为与其他表进行联表查询的字段进行显示。 借此机会,在网上查阅了相关方法,现总结出一种比较简单易懂的方法备用。...一、转列:将原本同一列下多行的不同内容作为多个字段,输出对应内容。...效果图: 数据库表中的内容: 转换后: 可以看出,这里转列是将原来的f_subject字段的多行内容选出来,作为结果集中的不同列,并根据f_student_id进行分组显示对应的f_score;...但是正常情况下,一个student对应一个subject只有一个分数,因此可以使用SUM()、MAX()、MIN()、AVG()等聚合函数都可以达到转列的效果。

4.6K10

MySQL转列

MySQL转列操作 在MySQL中,经常会遇到转列和列转行的操作,今天来看看这种问题的解决办法,先来说说转列。...MySQL转列操作 所谓的转列操作,就是将一个表的信息转化为列信息,说着可能比较笼统,这里先举个例子,如下: +----+-----------+--------+-------+ | ID...+-----------+--------+--------+--------+ rows in set (0.00 sec) 上面的例子中,表1给出了三个学生的三门成绩,而表2是将表1的记录信息...现在开始试验: 首先我们创建一张表,并插入如下数据: mysql-yeyz ::>>select * from test_tbl; +----+-----------+--------+----...| 89 | +-----------+--------+--------+--------+ 3 rows in set (0.00 sec) 3 添加total列 当我们把基本的转列实现之后

12.7K10

MySQL转列实现和总结

一、转列实例 1、准备数据 CREATE TABLE tb(`cname` VARCHAR(10),cource VARCHAR(10),score INT) ENGINE=INNODB; INSERT...想变成这样: 姓名 语文 数学 物理 张三 74 83 93 李四 74 84 94 暂且将原先的表称为A,之后的称为B,A想成为B,主要是讲A表中cource列中的行数据变为列,抠除转列的语法之外...SELECT * FROM tb GROUP BY cname 张三 语文 74 李四 语文 74 总结一:转列,分组(GROUP BY)的列必须是除需要转列之外的业务主键。...例如tb表中业务主键应该是cname和cource,但是cource需要进行行转列,所以需要按照cname分组。...数学 84 男 李四 物理 94 男 张三 语文 80 女 张三 数学 80 女 张三 物理 80 女 这时候业务主键是cname,cource,gender,要向进行行转列

1K30

SQL 转列

如果你想熟练写各种统计报表的 SQL,那么转列是你绕不开的一个点,你必须得掌握它。 转列嘛,就是在原来的数据集上减少行数,增加列的数量。具体是什么情况,大家请往下看。...NULL) (NULL) 小李子 (NULL) 4.3 (NULL) 这个结果和我们想要的结果有点接近了,只是每个学生还出现在多行数据中,每个学生应该只对应一数据才合理...把多行的数据聚合成一可以使用聚合函数,max()、min()、sum() 在这里都可以使用。因为我们要看到的是每个学生的成绩,所以要将 name 字段作为分组字段。...MAX( CASE WHEN grade = 2020 THEN POINT END) AS '2020' FROM t GROUP BY NAME 写转列...(不包括动态转列)不难,关键得知道分析哪些字段要作为分组的依据,哪个字段将拆分成多个列。

92920

5分钟搞懂MySQL - 转列

小伙伴想精准查找自己想看的MySQL文章?...喏 → MySQL专栏目录 | 点击这里   MySQL转列,对经常处理数据的同学们来说,一定是不陌生的,甚至是印象深刻,因为它大概率困扰过你,让你为之一愣~ 但当你看到本文后,这个问题就不在是问题...--------+ 4 rows in set (0.00 sec)   好,下面我们一起来看看SQL是如何编写的,对了,创建表结构和导入测试数据的SQL放到文章末尾了,自取~ ---- 飞机票 一、转列...三、领导又双叒叕@你改需求 四、结束语 附录:创建表结构&测试数据SQL ---- 一、转列SQL写法 方法一、使用case..when..then进行 转列 SELECT student_name...友情提示:我们工作中处理转列数据时,尽量都把总数、平均数等加上,方便领导查阅,省得他循环BB你。 话说,你还记得上学时的成绩表是啥样的么?你一般从上往下看还是从下往上看呢?

2.9K10
领券