Stöt på den här frågan när jag letade efter mitt eget svar. Jag tänkte lämna min lösning här eftersom det är ett annat sätt att utföra samma uppgift och kan vara mer effektivt. Tricket är självanslutningen med >=
SELECT s1.ID, s1.name, s1.money, sum(s2.money) as accumulator
FROM student s1
INNER JOIN student s2 ON s1.id >= s2.id
GROUP BY s1.id HAVING accumulator <= 500;