计算平均值百分比?

时间:2014-06-13 17:05:16

标签: sql postgresql average

这是一个简单的问题,我很惊讶我无法找到答案。 我需要的是计算列的平均值并将输出作为百分比。

Select round(avg(amount)::numeric, 2)
From Table

我只需要弄清楚如何将其作为百分比,现在它以12345.67形式出现,如何将该输出转换为查询中的百分比?

3 个答案:

答案 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