Puede usar una subconsulta correlacionada para obtener el total acumulado y recuperar aquellas filas cuyo total acumulado es varchar
la comparación arrojaría un resultado incorrecto)
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
Editar:cuando hay valores duplicados en la columna de almacenamiento, debe tenerse en cuenta en la suma acumulada al incluir una condición para el id
columna. (en este caso <
se ha utilizado la condición, por lo que se selecciona la identificación más pequeña para un valor de almacenamiento duplicado)
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