计算SQL中的百分比表列

计算SQL中的百分比表列,sql,Sql,如何计算整列的百分比?目前为止,我写的内容只给出了每行的百分比。我只想要一行的总百分比。我想把所有的值加起来计算一个百分比 SELECT TOP 1000 CONVERT(DECIMAL(10, 2), CAST(Passed AS DECIMAL(10, 2)) / ( Actual ) * 100) AS Percent FROM Audits WHERE MONTH(TransActionDate) = MONTH(GETDATE(

如何计算整列的百分比?目前为止,我写的内容只给出了每行的百分比。我只想要一行的总百分比。我想把所有的值加起来计算一个百分比

SELECT TOP 1000
       CONVERT(DECIMAL(10, 2), CAST(Passed AS DECIMAL(10, 2))
        / ( Actual ) * 100) AS Percent
FROM    Audits
WHERE   
        MONTH(TransActionDate) = MONTH(GETDATE())
GROUP BY Actual
     , Passed
      , transactiondate
ORDER BY TransActionDate DESC
尝试使用
AVG()
并从
GROUP BY
子句中删除字段:

SELECT AVG(CONVERT(DECIMAL(10, 2), CAST(Passed AS DECIMAL(10, 2))
        / ( Actual ) * 100)) AS Percent
FROM Audits
WHERE MONTH(TransActionDate) = MONTH(GETDATE())
如果需要
TOP1000
,请使用子查询:

SELECT AVG(Percent)
FROM (
    SELECT TOP 1000
       CONVERT(DECIMAL(10, 2), CAST(Passed AS DECIMAL(10, 2))
        / ( Actual ) * 100) AS Percent
    FROM Audits
    WHERE MONTH(TransActionDate) = MONTH(GETDATE())
    ORDER BY TransActionDate DESC
    ) t
尝试使用
AVG()
并从
GROUP BY
子句中删除字段:

SELECT AVG(CONVERT(DECIMAL(10, 2), CAST(Passed AS DECIMAL(10, 2))
        / ( Actual ) * 100)) AS Percent
FROM Audits
WHERE MONTH(TransActionDate) = MONTH(GETDATE())
如果需要
TOP1000
,请使用子查询:

SELECT AVG(Percent)
FROM (
    SELECT TOP 1000
       CONVERT(DECIMAL(10, 2), CAST(Passed AS DECIMAL(10, 2))
        / ( Actual ) * 100) AS Percent
    FROM Audits
    WHERE MONTH(TransActionDate) = MONTH(GETDATE())
    ORDER BY TransActionDate DESC
    ) t

谢谢我不认为这像做“AVG()”那么简单。谢谢!我认为这并不像做“AVG()”那么简单。