U kunt alleen aggregaten gebruiken voor vergelijking in de HAVING-clausule:
GROUP BY ...
HAVING SUM(cash) > 500
De HAVING
clausule vereist dat u een GROUP BY-clausule definieert.
Om de eerste rij te krijgen waar de som van al het voorgaande geld groter is dan een bepaalde waarde, gebruikt u:
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
Omdat de aggregatiefunctie in een subquery voorkomt, kan in de WHERE-component worden verwezen naar de kolomalias ervoor.