我试图在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;
的目的是,我希望能够得到的平均成本(成本/数量)最近的条目在数据库中,但数量将是一个用户生成的变量。
更新:下面是一个表结构的例子:
如果可以在在线数据库中包含示例数据就更好了。但是,请尝试这个
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;