我的定义:

列变行:将本来在多个列上的数据变成多个行上的数据(竖向为列,横向为行)

如图:


显然对于a的所有成绩,分布在每个列中,如果我想变成如下形式:

由于这里将本来是一行的不同列的数据变成了多行,我个人认为是列变行

sql如下:

(select id,name,'数学' as type,math as sore from student)
union 
(select id,name,'英语' as type,english as sore from student)
union 
(select id,name,'语文' as type,chinese as sore from student)

这里 union 表示变成多行的时候不可以重复,如果你的需求可以重复可以使用union all
 

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐