Login
网站首页 > 文章中心 > 其它

Mysql中行转列和列转行_mysql中行和列的区别

作者:小编 更新时间:2023-09-24 19:21:45 浏览量:227人看过

第一段:行转列

即将原本同一列下多行的不同内容作为多个字段,输出对应内容.

建表语句

SELECT * FROM tb_score

先来看一下转换后的结果:

可以看出,这里行转列是将原来的subject字段的多行内容选出来,作为结果集中的不同列,并根据userid进行分组显示对应的score.

group_concat(),手册上说明:该函数返回带有来自一个组的连接的非NULL值的字符串结果.比较抽象,难以理解.通俗点理解,其实是这样的:group_concat()会计算哪些行属于同一组,将属于同一组的列显示出来.要返回哪些列,由函数参数(就是字段名)决定.分组必须有个标准,就是根据group by指定的列进行分组.

结论:groupconcat()函数可以很好的建属于同一分组的多个行转化为一个列.

第三段:列转行

建表语句:

SELECT * FROM tb_score1

转换后:

本质是将userid的每个科目分数分散成一条记录显示出来.

直接上SQL:

附:UNION与UNION ALL的区别(摘):

①对重复结果的处理:UNION会去掉重复记录,UNION ALL不会;

以上就是土嘎嘎小编为大家整理的Mysql中行转列和列转行相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!

版权声明:倡导尊重与保护知识产权。未经许可,任何人不得复制、转载、或以其他方式使用本站《原创》内容,违者将追究其法律责任。本站文章内容,部分图片来源于网络,如有侵权,请联系我们修改或者删除处理。

编辑推荐

热门文章