使用以下代码,我没有得到总百分比,而是每个值不是“U”的百分比。
如何更改代码以获得总百分比?
SELECT grade, (COUNT(grade)* 100 / (SELECT COUNT(*) FROM studied)) AS Score
FROM studied
WHERE grade !='U'
GROUP BY grade
答案 0 :(得分:0)
以下代码将返回值列表:成绩和成绩。
成绩将显示所有可用成绩,但是U. 成绩值将显示相应成绩的总百分比(包括 U) 。如果您希望得分占成绩百分比不包括 U,则以下SQL应该有效
SELECT grade, (COUNT(grade) * 100 / (SELECT COUNT(*) FROM studied WHERE grade !='U')) AS Score
FROM studied
WHERE grade !='U'
GROUP BY grade
下面的屏幕截图显示了测试数据和查询结果
修改强>
从你上一篇评论看起来这个SQL应该做的工作:
SELECT (COUNT(grade) * 100 / (SELECT COUNT(*) FROM student)) AS Score
FROM Student
WHERE grade !='U'
它将返回除U以外的所有等级的总百分比。使用屏幕截图中的数据集,它将是92(这是92%)