Можете да използвате само агрегати за сравнение в клаузата HAVING:
GROUP BY ...
HAVING SUM(cash) > 500
HAVING
клауза изисква да дефинирате клауза GROUP BY.
За да получите първия ред, където сумата на всички предишни пари е по-голяма от определена стойност, използвайте:
SELECT y.id, y.cash
FROM (SELECT t.id,
t.cash,
(SELECT SUM(x.cash)
FROM TABLE x
WHERE x.id <= t.id) AS running_total
FROM TABLE t
ORDER BY t.id) y
WHERE y.running_total > 500
ORDER BY y.id
LIMIT 1
Тъй като агрегатната функция се появява в подзаявка, псевдонимът на колоната за нея може да бъде препратен в клаузата WHERE.