在mysql中获取另一列的total sum时获取Cumulative sum up到某一数字的查询



我试图在PHP中编写查询,搜索数据库(按日期,Desc)获得Cost列的总和,直到Quantity列的累积和达到一定的数字。

像这样:

SELECT Sum(Cost), Sum(Quantity) FROM Table UNTIL cumulative_total of (Quantity) <= 1000 WHERE Product='myProduct' ORDER BY `Date` Desc;

我认为这可能会工作,但它没有返回结果:

SELECT Quantity, Cost, (@csum := @csum + Quantity) as cumulative_sum FROM Orders WHERE Product='selectedProduct' HAVING @csum <= '1500' ORDER BY Date DESC;

的目的是,我希望能够得到的平均成本(成本/数量)最近的条目在数据库中,但数量将是一个用户生成的变量。

更新:下面是一个表结构的例子:

<表类>ID产品数量成本日期tbody><<tr>1叉105.002022-04-192叉105.002022-04-193刀75.002022-04-204叉2010.002022-04-205叉105.002022-04-21

如果可以在在线数据库中包含示例数据就更好了。但是,请尝试这个

SELECT *, @running_sum:=@running_sum+Quantity AS cumulativeSum FROM ( SELECT * FROM Orders o WHERE o.Product = 'selectedProduct' )a, (SELECT @running_sum:=0)rn ORDER BY DATE DESC;

最新更新