获取总和小于或等于数据集值的记录



这个问题是这里问题的扩展查询获取所有记录,直到列的总和小于或等于一个值

对于表:items

<表类> slno 项价格tbody><<tr>1item110002第二条20003item330004item440005item550006item66000

使用累加和,然后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;

最新更新