SQL Server 如何实现行转列

 时间:2026-02-14 22:55:57

1、创建临时表

创建一张临时表#TMP,保存学生课程的分数,并插入一些测试数据。

SQL Server 如何实现行转列

2、要实现的效果

将列“课程”的值作为列名呈现,相当于汇聚同一个学生的所有成绩作为一行记录。

SQL Server 如何实现行转列

3、使用 CASE WHEN 实现

使用 CASE WHEN 语句进行遍历判断,可以很方便的将列值转换成列名。

但是,如果需要转换的列值过多,那SQL语句就会变得比较冗余,因此 CASE WHEN 适合列值较少的情况。

SQL Server 如何实现行转列

4、PIVOT 关系运算符介绍

PIVOT 的基本语法是对列进行聚合,指定要成为列名的列值以及具体列名。

这里要聚合的是“分数”,要指定的是“课程”,具体列名是“美术、音乐、绘画”

SQL Server 如何实现行转列

5、用 PIVOT 实现

将临时表的实际值填入PIVOT 的基本语法中,即可实现行转列。

SQL Server 如何实现行转列

6、两者比较

仔细比较 CASE WHEN 和 PIVOT,可以发现两者在一定程度上其实是一一对应关系,只是 PIVOT 的写法更加简洁和实用,同时理解和写法也更复杂一些。

SQL Server 如何实现行转列

  • 深圳《保险销售从业人员资格证书》考试报名流程
  • 怎么修改汇联易账号密码
  • vb隐藏函数公式
  • sql查询中如何使用连接字符
  • Oracle 11g安装到最后报错闪退
  • 热门搜索
    北京近郊旅游景点 南京免费旅游景点 宁波旅游景点推荐 哈尔滨旅游景区 海南旅游购物 厦门旅游学校 上海到泰国旅游 河源旅游网 国庆去哪里旅游好 西宁 旅游