Vous pouvez utiliser une sous-requête corrélée pour obtenir le total cumulé et récupérer les lignes dont le total cumulé est varchar
la comparaison renverrait le mauvais résultat)
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
Modifier :lorsqu'il y a des valeurs en double dans la colonne de stockage, elles doivent être prises en compte dans la somme cumulée en incluant une condition pour le id
colonne. (dans ce cas <
condition a été utilisée, donc le plus petit identifiant pour une valeur de stockage en double est récupéré)
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