gpt4 book ai didi

php - 选择值达到和超过(但只有一个超过)另一个值的记录?

转载 作者:可可西里 更新时间:2023-11-01 08:08:07 26 4
gpt4 key购买 nike

我有这样的数据......

 ID    | Amount
-----------------
1 | 50.00
2 | 40.00
3 | 15.35
4 | 70.50

等我有一个正在努力达到的值,在这种情况下,假设是 100.00。我想按照 ID 的顺序获取 100.00 之前的所有记录。而且我想再多拿一个,因为我想把它一直填到我想要的值。

也就是说,我想得到,在这个例子中,记录1、2、3。前两个总和为90.00,3使总和超过100.00。所以我想要一个查询来为我做这件事。 MySQL 中是否存在这样的事情,或者我将不得不求助于 PHP 数组循环?

编辑:用英语来说:假设他们的帐户中有 100 美元。我想知道他们的哪些请求可以全部或部分支付。所以我可以还清 50 美元和 40 美元,以及 15.35 美元的一部分。在程序的这一点上,我不在乎偏袒。我只想以任何方式找出哪种质量。

最佳答案

是的,是可能的

 set @total:=0; 
select * from
(
select *, if(@total>100, 0, 1) as included, @total:=@total+Amount
from your_table
order by id
) as alls
where included=1
order by id;

关于php - 选择值达到和超过(但只有一个超过)另一个值的记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4454960/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com