首页 > 解决方案 > 计算 SQL 中多个 ID 的单独百分比值

问题描述

我有一个包含几列 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

我需要输出如下

在此处输入图像描述

标签: sql-server

解决方案


我没有你的桌子,但这应该可以

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

推荐阅读