日期:2014-05-17  浏览次数:20458 次

求正确率语句,在线等,谢谢
本帖最后由 delmores 于 2013-07-17 00:10:08 编辑
sql 语句查询5个选择题选择ABCD正确率和错误率
张三   D;C;D;A;A
李四   D;B;C;B;B
王五   D;C;B;B;A

标准答案  B,C,B,A,C  
求每个这五个选择题每个题选对的正确率和错误率

------解决方案--------------------
select sum(case when col1='B' then 1 else 0 end)/count(*) as A正确率,
sum(case when col1<>'B' then 1 else 0 end)/count(*) as A错误率,
.......
from tb

------解决方案--------------------
--创建自定义函数:
CREATE   FUNCTION [dbo].[f_split]
    (
      @c VARCHAR(MAX) ,
      @split VARCHAR(2)
    )
RETURNS @t TABLE ( col VARCHAR(20) )
AS 
    BEGIN   
    
        WHILE ( CHARINDEX(@split, @c) <> 0 ) 
            BEGIN   
                INSERT  @t
                        ( col
                        )
                VALUES  ( SUBSTRING(@c, 1, CHARINDEX(@split, @c) - 1)
                        )   
                SET @c = STUFF(@c, 1, CHARINDEX(@split, @c), '')   
            END   
        INSERT  @t