ID | PRICE
1 | 40
2 | 50
3 | 100
4 | 10
仅选择那些价格总和为130的id
IDS:1,2,4 {sum :: 100}跳过其余的
如果应用订购价格desc,它将获得ID 3,4
我尝试了类似的东西,但无法正常工作
set @rownum= 0;
set @rownum2 = 0;
select @rownum := @rownum + 1 as r, id_wydatku
FROM wydatki
where sum (
select wydatki.kwota_brutto
from wydatki
where @rownum2 := @rownum2 + 1<= r
) < 1000
小提琴:http://sqlfiddle.com/#!9/a4713/41
感谢您的任何提示。
答案 0 :(得分:1)
此问题的解决方案是NP-Complete,如此答案所述:https://stackoverflow.com/a/6289662/2768318
话虽如此,如果您想尝试解决此问题(如果您的行数很少),您应该针对您的问题调整此解决方案:http://sqlfiddle.com/#!6/1b720/39