计算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()”那么简单。