1

列全体のパーセンテージを計算するにはどうすればよいですか? 現在、これまでに書いたことは、各行のパーセンテージのみを示しています。合計パーセンテージを含む1行のみが必要です。すべての値を合計して 1 パーセントを計算したいと考えています。

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
4

1 に答える 1

1

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())

が必要な場合TOP 1000は、サブクエリを使用します。

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
于 2013-10-11T01:32:17.877 に答える