【问题标题】:postgresql psql finding percentage window functionpostgresql psql 查找百分比窗口函数
【发布时间】:2014-05-27 04:31:02
【问题描述】:

当前使用 postgresql v. 9.2

我有一个名为“mytable”的表,其中包含以下列:Monday、Tuesday、Wednesday、Thursday、OTHERCOL、OTHERCOL2、OTHERCOL3、OTHERCOL4:
星期一的列包含:苹果,苹果,苹果 |总计(3)
列星期二包含:草莓,草莓,草莓,草莓 |共 (4)
列星期三包含:香蕉,香蕉 |总计 (2)
列星期四包含:橙色,橙色,橙色,橙色 |总计 (4)

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

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

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

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

【问题讨论】:

    标签: postgresql percentage psql window-functions


    【解决方案1】:

    尝试最简单的方法,不要使用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

    【讨论】:

    • 感谢您的帮助,这正是我所需要的。如果我想合并星期一和星期二的列并找到百分比,我将如何完成这样的计算?
    • 我实际上想出了如何添加两列及其百分比,非常有帮助!
    猜你喜欢
    • 2014-04-26
    • 2013-10-27
    • 1970-01-01
    • 2020-11-22
    • 2022-01-12
    • 1970-01-01
    • 1970-01-01
    • 2021-10-29
    • 2018-12-15
    相关资源
    最近更新 更多