如何在同一sql查询中计算超过日期范围的产品的平均和最新成本

htzpubme  于 2021-07-29  发布在  Java
关注(0)|答案(1)|浏览(385)

我有一张table,上面有产品,它的成本在一个时间范围内。我需要计算期间的平均成本,以最新的成本到目前为止的日期被视为平均,我还需要获取当前的成本。如何在同一个查询中实现它。
输入表

我正在寻找像这样的输出
产品|平均|当前|成本
(平均成本是(成本*该成本的天数)/总天数dill今天的日期。

hwamh0ep

hwamh0ep1#

可以使用日期算术和条件聚合:

select product,
       ( sum( cost * datediff(day, beg_date, (case when end_date > getdate() then getdate() else end_date end) )) /
         sum(datediff(day, beg_date, (case when end_date > getdate() then getdate() else end_date end))
       ) as avg_price,
       max(case when end_date > getdate() then price end)
from t
group by product;

相关问题