Du kan använda en korrelerad underfråga för att få den löpande summan och hämta de rader vars löpande summa är varchar
jämförelsen skulle ge fel 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
Redigera:När det finns dubbletter av värden i lagringskolumnen måste det redovisas i den löpande summan genom att inkludera ett villkor för id
kolumn. (i det här fallet <
skick har använts, så det minsta ID:t för ett dubblettlagringsvärde hämtas)
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