Mad*_*kar 2 sql sql-server sql-server-2008
我有一张桌子,里面有学生的数据和结果.
ID Name Result
1 St1 FAIL
2 St2 PASS
3 St3 PASS
4 St4 PASS
5 St5 FAIL
6 St6 PASS
Run Code Online (Sandbox Code Playgroud)
我希望通过和失败的学生的总百分比四舍五入到小数点后两位.我怎么能做到这一点?
SQL:
SELECT
ROUND(
SUM(
CONVERT(
FLOAT,
CASE WHEN Result = 'PASS' THEN 1
ELSE 0
END
)
)
/COUNT(*) * 100,
2
) AS 'Percent Pass',
ROUND(
SUM(
CONVERT(
FLOAT,
CASE WHEN Result = 'FAIL' THEN 1
ELSE 0
END
)
)
/COUNT(*) * 100,
2
) AS 'Percent Fail'
FROM StudentsResults
Run Code Online (Sandbox Code Playgroud)
结果:
Pass Fail
66.67 33.33
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1000 次 |
最近记录: |