postgresql psql查找百分比窗口函数

时间:2014-04-13 05:09:50

标签: postgresql percentage psql window-functions

目前使用postgresql v.9.2

我有一张名为" mytable"列:周一,周二,周三,周四,OTHERCOL,OTHERCOL2,OTHERCOL3,OTHERCOL4:
列周一包含:apple,apple,apple |总(3)
列周二包含:草莓,草莓,草莓,草莓 |总计(4)
列周三包含:香蕉,香蕉 |总计(2)
列星期四包含:橙色,橙色,橙色,橙色 |总计(4)

我的问题是如何找到每列的百分比。例如,如果我想找到星期一列的百分比,我想计算3 / 13.这里,13是水果的总数,如果我分别计算每一列并将它们加在一起。

我对postgres没有太多经验,而且值非整数,这使得查找百分比变得更加困难。

我遇到了窗口函数,作为解决这个问题的可能方法。

还有其他方法可以解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

尝试最简单的方法,不要使用Windows函数:

SELECT count( Monday )::float
       /
       ( count(Monday)
         + count(Tuesday )
         + count(Wednesday )
         + count( Thursday )
       ) * 100
       As Monday_Percent
FROM mytable

演示:http://sqlfiddle.com/#!12/e295c/3