表 成绩
题型 分数 姓名
选择 1 xx
判断 2 xx
选择 3 xx
判断 4 yy
问答 5 yy
判断 6 xx怎样得到题型 分数 姓名
选择 4 xx
判断 8 xx
问答 5 yy
判断 4 yy
题型 分数 姓名
选择 1 xx
判断 2 xx
选择 3 xx
判断 4 yy
问答 5 yy
判断 6 xx怎样得到题型 分数 姓名
选择 4 xx
判断 8 xx
问答 5 yy
判断 4 yy
sum(case when 题型='选择' then 分数 else 0 end) '分数',
sum(case when 题型='判断' then 分数 else 0 end) '分数',
sum(case when 题型='问答' then 分数 else 0 end) '分数'
from tb group by 题型,姓名
题型,分数=SUM(分数),姓名
from 成绩
group by 题型,姓名
(
题型 nvarchar(20),
分数 int,
姓名 varchar(20)
)
insert into #WW select '选择',1,'xx'
insert into #WW select '判断',2,'xx'
insert into #WW select '选择',3,'xx'
insert into #WW select '判断',4,'YY'
insert into #WW select '问答',5,'yy'
insert into #WW select '判断',6,'xx'select 题型,sum(分数) 分数,姓名 from #WW group by 题型,姓名题型 姓名
-------------------- ----------- --------------------
判断 8 xx
选择 4 xx
判断 4 YY
问答 5 yy(4 行受影响)
GROUP BY 题型,姓名
from tb
group by 题型,姓名