RightAnswer StudentAnswer
D D
D D
A A
C C
A A
A A
C C
A A
C C
A A
B D
C D
当我查询出这样的结果后,如果StudentAnswer与RightAnswer一样就算对的,如果不一样就算错的,我想统计对的有多少个,错的有多少个,以及正确率,请教一下如何写?谢谢!
D D
D D
A A
C C
A A
A A
C C
A A
C C
A A
B D
C D
当我查询出这样的结果后,如果StudentAnswer与RightAnswer一样就算对的,如果不一样就算错的,我想统计对的有多少个,错的有多少个,以及正确率,请教一下如何写?谢谢!
select (case when RightAnswer =StudentAnswer then 1 else 0 end) 对,
(case when RightAnswer <>StudentAnswer then 1 else 0 end)错,
(case when RightAnswer =StudentAnswer then 1 else 0 end) *1.0/count(1)
from T
sum(case when RightAnswer =StudentAnswer then 1 else 0 end) 对,
sum(case when RightAnswer <>StudentAnswer then 1 else 0 end)错,
ltrim(str(sum(case when RightAnswer =StudentAnswer then 1 else 0 end) *1.0/count(1)*100,6,2))+'%' N'正確率' from T
insert into @t select 'D','D'
union all select 'D','D'
union all select 'A','A'
union all select 'C','C'
union all select 'B','D'
union all select 'C','D'
union all select 'C','D' select sum(case when RightAnswer=StudentAnswer then 1 else 0 end) as '○',
sum(case when RightAnswer<>StudentAnswer then 1 else 0 end) as '×',
left(sum(case when RightAnswer=StudentAnswer then 1.0 else 0.0 end) /count(1)*100,5)+'%' as '正確率'
from @t/*
○ × 正確率
4 3 57.14%
*/