在表上选择“ Ratio_to_report”

时间:2019-04-14 12:51:28

标签: sql postgresql

我想选择总价的比例或id_lot制定的id_programme: 这是表格:

 id_lot | id_programme | surface | prix 
--------+--------------+---------+------
    101 |            1 |      30 |  180
    201 |            1 |      30 |  185
    391 |            2 |      40 |  145

我尝试过这个:

     select id_lot,id_programme ,                                                    
     ratio_to_report(sum(prix)) over(partition by id_programme) as 
     ratio
     from t
     group by id_lot,id_programme;;

我收到此错误:

  

选择id_lot,id_programme,ratio_to_report(sum(prix))over(...                                       ^   提示:没有函数匹配给定的名称和参数类型。您可能需要添加显式类型转换。

1 个答案:

答案 0 :(得分:0)

您可以显式进行ratio_to_report()的计算。这行得通吗?

select id_lot, id_programme,  
       sum(prix) / sum(sum(prix)) over (partition by id_programme) as ratio
from t
group by id_lot, id_programme;

Here是使用Postgres的db <>小提琴。