Bạn chỉ có thể sử dụng tổng hợp để so sánh trong mệnh đề HAVING:
GROUP BY ...
HAVING SUM(cash) > 500
HAVING
mệnh đề yêu cầu bạn xác định mệnh đề GROUP BY.
Để nhận hàng đầu tiên trong đó tổng của tất cả số tiền trước đó lớn hơn một giá trị nhất định, hãy sử dụng:
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
Bởi vì hàm tổng hợp xuất hiện trong một truy vấn con, bí danh cột của nó có thể được tham chiếu trong mệnh đề WHERE.