У меня есть данные, такие как …
ID | Amount ----------------- 1 | 50.00 2 | 40.00 3 | 15.35 4 | 70.50
и т. д. И у меня есть ценность, над которой я работаю, в этом случае скажем, 100,00. Я хочу получить все записи до 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;
Ссылаясь на последнее предложение: не сокращает ли sum
mysql?