我有一个表,其中包含CitrixID,Wave,DocNumber,不正确,正确和百分比列
如何获取多个CitrixID的单独百分比值?
我在sql中编写了以下查询,但返回的百分比值错误。
SELECT Citrix_ID, Wave,Document_Number, SUM(Attempt) as Incorrect,SUM(AttemptGreen) as Correct,
CONCAT((SUM(AttemptGreen) *100 / (SELECT SUM(AttemptGreen) + SUM(Attempt) FROM tblTrackQuestErrors WHERE Wave='Wave 86' and Document_Number='0123123123116')),'%') AS Percentage
FROM tblTrackQuestErrors WHERE Wave='Wave 86' and Document_Number='0123123123116' group by Citrix_ID,Wave,Document_Number
我需要输出如下所示
答案 0 :(得分:0)
Sudhakar,请您参考以下选择和百分比计算
select
convert(
decimal(5,2),
isnull(correct,0) * 100.0 / case when (isnull(correct,0) + isnull(incorrect,0)) = 0
then null
else (isnull(correct,0) + isnull(incorrect,0))
end
) as [percentage]
from tbl
答案 1 :(得分:0)
我没有您的桌子,但这应该可以工作
SELECT Citrix_ID, Wave,Document_Number, SUM(Attempt) as Incorrect, SUM(AttemptGreen) as Correct
, SUM(AttemptGreen) *100 / SUM(AttemptGreen) + SUM(Attempt) AS Percentage
,MIN((
SELECT SUM(T1.AttemptGreen) *100 / SUM(T1.AttemptGreen) + SUM(T1.Attempt)
FROM tblTrackQuestErrors T1
WHERE T1.Wave = tblTrackQuestErrors.Wave
AND T1.Document_Number = tblTrackQuestErrors.Document_Number
)) AS Percentage_Multi_CitrixID
FROM tblTrackQuestErrors
group by Citrix_ID,Wave,Document_Number
答案 2 :(得分:0)
选择Citrix_ID,Wave,Document_Number,错误的SUM(Attempt),正确的SUM(AttemptGreen),
CONCAT(CONVERT(DECIMAL(5,2),SUM(AttemptGreen)* 100.0 /案例(SUM(AttemptGreen)+ SUM(Attempt))= 0 THEN NULL ELSE(SUM(AttemptGreen)+ SUM(Attempt))END), '%')作为[百分比]
FROM tblTrackQuestErrors WHERE Wave = @ Wave和Document_Number = @ Document_Number组,按Citrix_ID,Wave,Document_Number