id ques1 ques2 ques3
1 2 2 3
2 1 5 3
3 3 2 2
1表示第一项被选中,2表示第二项被选中,类推....
统计各问题在选项中被选中的次数
result:
ques1 ques2 ques3
1 1 2 0
2 1 0 1
3 1 0 2
4 0 0 0
5 0 1 0
1 2 2 3
2 1 5 3
3 3 2 2
1表示第一项被选中,2表示第二项被选中,类推....
统计各问题在选项中被选中的次数
result:
ques1 ques2 ques3
1 1 2 0
2 1 0 1
3 1 0 2
4 0 0 0
5 0 1 0
result: //你题目的result有问题,应该为如下所示:
ques1 ques2 ques3
1 1 0 0
2 1 2 1
3 1 0 2
4 0 0 0
5 0 1 0
如6楼所说,楼主的统计有点问题:
declare @t table(id int,ques1 int,ques2 int,ques3 int)
insert into @t select 1,2,2,3
insert into @t select 2,1,5,3
insert into @t select 3,3,2,2create proc wsp
as
declare @temp table([ ] int,ques1 int,ques2 int,ques3 int)
declare @i int
set @i=1
while @i<6
begin
insert into @temp select @i,sum(case ques1 when @i then 1 else 0 end) ques2,
sum(case ques2 when @i then 1 else 0 end) ques2,
sum(case ques3 when @i then 1 else 0 end) ques3 from @t
set @i=@i+1
end
select * from @temp
go调用存储过程:
exec wsp统计结果:
ques1 ques2 ques3
1 1 0 0
2 1 2 1
3 1 0 2
4 0 0 0
5 0 1 0