WITH payments_CTE AS (
SELECT user_id,
payment_date,
SUM(t2.payment_size) AS total_payment,
RANK() OVER (PARTITION BY total_payment) ORDER BY payment_date) payment_rank
FROM payments_table t1
LEFT JOIN payments_table t2
ON t1.user_id = t2.user_id AND t1.payment_date >= t2.payment_date
GROUP BY user_id, payment_date,
HAVING total_payment >= 10000 )
SELECT * FROM payments_CTE
WHERE payment_rank = 1