我们可以在Postgres中的同一查询中使用两个求和函数

时间:2016-10-03 09:48:04

标签: sql postgresql group-by

我写了一个如下所述的查询:

select 
  sum(co.BOMParentQty) as hiredqty, 
  cy.dehireqty as dehire, 
  cy.M_product_id,
  co.Project_Prod 
from c_order co 
  inner join M_CycleDays cy ON (co.Project_Prod :: numeric = cy.M_product_id) 
where co.c_doctype_id = 1000600  
  AND co.Project_Prod = '1000470' 
group by cy.M_product_id, co.Project_Prod, dehire

它给了我两条线的输出但是我想只有单行和dehireqty的总和如果我把dehire qty列的sum函数然后它总和两次 没有dehireqty列的实际输出是(两个记录):

6.00;2.00;1000470;"1000470" 
6.00;3.00;1000470;"1000470"

为dehireqty列添加sum函数后:

12.00;15.00;1000470;"1000470"

但实际上我想要:

6.00;5.00;1000470;"1000470"

我怎样才能得到这个结果?

1 个答案:

答案 0 :(得分:1)

只需将查询作为子查询并在外部查询中总结dehireqty:

for i, x in enumerate(A):
    for y in A[i + 1:]:
        print(x * y)