我想从数据库中提取报告,目前有一列显示分数。如何将分数转换为%数?
理论上它很容易,但由于我不是SQL导出,所以不是。
我试过
select [userid], [QuestionsTotal] / 100 * [QuestionsCorrect] as 'score'
FROM myTable
我也试过
select [userid], [QuestionsTotal] / [QuestionsCorrect] * 100.0 as 'score'
FROM myTable
有人能给我一些关于我如何解决问题的提示吗?
答案 0 :(得分:2)
我假设您的正确和总计是INT。注意* 100.0 - .0对于将至少一个因子转换为INT以外的其他因素非常重要。
select [userid]
, ([QuestionsCorrect]*100.0) / [QuestionsTotal] as 'score'
FROM myTable
答案 1 :(得分:0)
以下是我使用的另一种实现此结果的方法(可用于SUM,COUNT,AVG ..):
Select Category as 'Category', COUNT(Category) as 'Count' ,
CAST(COUNT(Category) as DECIMAL(10,4)) / SUM(COUNT(Category) ) OVER () * 100 '% Allocation'
from Category