解决方案 »

  1.   


    SELECT CAST(SUM(CASE WHEN MARK>=90 THEN 1 END) AS DECIMAL(18,4))/COUNT(1)[优秀]
    ,CAST(SUM(CASE WHEN MARK<90 AND MARK>=80 THEN 1 END) AS DECIMAL(18,4))/COUNT(1)[良好]
    ,CAST(SUM(CASE WHEN MARK<80 AND MARK>=60 THEN 1 END) AS DECIMAL(18,4))/COUNT(1)[及格]
    FROM tmp_xrkh_1
      

  2.   

    谢谢,用cast   as   decimal 是我没想到的,但是我运行的时候报错了,这个[ ]是无法识别的,但还是非常感谢你!