当前位置: 移动技术网 > IT编程>数据库>MSSQL > SQL 行转列 PIVOT 学习示例

SQL 行转列 PIVOT 学习示例

2018年12月29日  | 移动技术网IT编程  | 我要评论

惢百路,瓷都免费起名,我的前半生在线阅读

create table [studentscores]
(
[username] nvarchar(20), --学生姓名
[subject] nvarchar(30), --科目
[score] float, --成绩
)

insert into [studentscores] select '张三', '语文', 80
insert into [studentscores] select '张三', '数学', 90
insert into [studentscores] select '张三', '英语', 70
insert into [studentscores] select '张三', '生物', 85
insert into [studentscores] select '李四', '语文', 80
insert into [studentscores] select '李四', '数学', 92
insert into [studentscores] select '李四', '英语', 76
insert into [studentscores] select '李四', '生物', 88
insert into [studentscores] select '码农', '语文', 60
insert into [studentscores] select '码农', '数学', 82
insert into [studentscores] select '码农', '英语', 96
insert into [studentscores] select '码农', '生物', 78


select * from [studentscores]

select * from [studentscores] /*数据源*/
as p 
pivot 
(
sum(score/*行转列后 列的值*/) for 
p.subject/*需要行转列的列*/ in ([语文],[数学],[英语],[生物]/*列的值*/)
) as t where username<>'李四'

 

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网