这是一个简单的问题,我很惊讶我无法找到答案。 我需要的是计算列的平均值并将输出作为百分比。
Select round(avg(amount)::numeric, 2)
From Table
我只需要弄清楚如何将其作为百分比,现在它以12345.67形式出现,如何将该输出转换为查询中的百分比?
答案 0 :(得分:2)
也许你需要这样的东西:
select avg(amount) * 100 / sum(amount)
from Table
或者您可以像这样添加百分号:
select CAST(avg(amount) * 100 / sum(amount)as VARCHAR(max)) + '%' AS Perc
from Table
或者您可以将符号连接到您的查询:
Select CAST(round(avg(amount)::numeric, 2)as VARCHAR(max)) + '%' AS Perc
From Table
答案 1 :(得分:1)
结果/总计* 100 =平均值
在您的情况下,结果为:avg(amount)::numeric
,总数是amount
可能达到的最大值。
答案 2 :(得分:1)
您最好的选择是使用可用的任何工具。但有一种方法可以将其作为查询。
尝试将平均值除以总和乘以100。
所以你想要平均值,如下面的并除以总和,再乘以100得到100%的总和。
select avg(amount) / sum(amount) * 100