Du kan bruge en korreleret underforespørgsel til at få den løbende total og hente de rækker, hvis løbende total er varchar
sammenligningen ville returnere det forkerte resultat)
select id,user_id,storage
from uploads t
where storage+coalesce((select sum(storage) from uploads
where storage<t.storage),0) < 410000
order by storage
Rediger:Når der er duplikerede værdier i lagerkolonnen, skal det medregnes i den løbende sum ved at inkludere en betingelse for id
kolonne. (i dette tilfælde <
condition er blevet brugt, så det mindste id for en dublet lagerværdi bliver samlet op)
select id,user_id,storage
from uploads t
where storage+coalesce((select sum(storage) from uploads
where storage<t.storage
or (storage=t.storage and id < t.id)),0) < 410000
order by storage