Sql 重叠采购订单的值之和

Sql 重叠采购订单的值之和,sql,oracle,window-functions,Sql,Oracle,Window Functions,我有几个带值的POs,我需要计算总和,但也要显示所有行和列 这是输入表,因此输出保持不变+sum的额外列,150(对于1,2)或200(对于4,5) 我可以简单地使用分析函数来显示整行的总和 select PO, start, end , value , sum(value) over (partition by start, end ) as sum from table; 但PO不会每次都像这样在确切的日期重叠,假设有另一个PO 将有两个案例 采购订单1,2,3的值之和为250 采购

我有几个带值的POs,我需要计算总和,但也要显示所有行和列 这是输入表,因此输出保持不变+sum的额外列,150(对于1,2)或200(对于4,5)

我可以简单地使用分析函数来显示整行的总和

select PO, start, end , value , sum(value) over (partition by start, end ) as sum 
from table;
但PO不会每次都像这样在确切的日期重叠,假设有另一个PO

将有两个案例

  • 采购订单1,2,3的值之和为250
  • 采购订单3,4,5的值之和为300
  • 在输出中,我需要显示整行+和,当然,在这种特殊情况下,PO 3必须显示两次

    有什么想法吗?
    谢谢

    日期是如何计算的?您的重叠示例非常简单。在更复杂的情况下会发生什么?你是什么意思?日期是如何计算的?有这样简单的重叠,正如我所写的,在很多情况下,有几个采购订单具有相同的时间范围(相同的开始和结束),因此分析功能可以做到,但也可能有一种情况,一个或多个采购订单在一天内重叠,只有您使用的是哪个oracle版本?oracle 12版本您确实说过,您希望
    ,但同时显示所有行
    。但是您没有说明作为个人的
    PO=3
    的记录应该如何显示。我也不明白为什么你需要
    ,当然,在这种特殊情况下,PO 3必须显示两次。