这个问题是这里问题的扩展查询获取所有记录,直到列的总和小于或等于一个值
对于表:items
<表类>
slno
项价格 tbody><<tr>1 item1 1000 2第二条 2000 3 item3 3000 4item4 4000 5item5 5000 6item6 6000 表类>
使用累加和,然后join
:
select v.*, i.*
from (select i.*, sum(price) over (order by slno) as running_price
from items i
) i join
values v
on i.running_price <= v.value
order by v.id, i.slno;