mysql列变行(多列变成多行)

以你之姓@ 2022-08-18 03:27 466阅读 0赞

我的定义:

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

如图:

20151209065533739

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

20151209070346510

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

sql如下:

  1. (select id,name,'数学' as type,math as sore from student)
  2. union
  3. (select id,name,'英语' as type,english as sore from student)
  4. union
  5. (select id,name,'语文' as type,chinese as sore from student)

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

发表评论

表情:
评论列表 (有 0 条评论,466人围观)

还没有评论,来说两句吧...

相关阅读