SQL 如何将表中行列互换
在工作中,我们发现有时候需要将表中的行列进行互换。
SQL 列换成行
SQL 中可以使用PIVOT这个命令,同理,行换成列使用UNPIVOT。
1 |
|
使用PIVOT需要注意的是,必须把其他列中同一学生不同信息列隐藏才可以。
例如:我们把一行一行列出的科目变成一列一列,我们的SubjectChineseName就要隐藏掉,否则Pivot出来的结果是同一个学生一样有四行。
只不过右边多出了四列科目而已。
我这里先CAST是因为需要转换格式,从NVARCHAR转为FLOAT。
如果我想要转换的行列数据不是数字的话,应该用什么?
我们可以通过COUNT得到出现的次数,也可以通过MIN()或者MAX()直接显示内容。
- 标题: SQL 如何将表中行列互换
- 作者: 暗香疏影
- 创建于 : 2020-09-23 00:00:00
- 更新于 : 2020-09-23 00:00:00
- 链接: https://blog.23ikr.com/2020/09/23/2020-09-23-SQL-Transpose-Table/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论