Oracle
 sql >> Database >  >> RDS >> Oracle

Reimposta la somma quando la condizione è soddisfatta in Oracle

Puoi creare un sottogruppo usando la somma condizionale:

WITH cte AS (
   SELECT t.*,SUM(CASE WHEN hour=3 THEN 1 ELSE 0 END) OVER(ORDER BY timestamp) grp
   FROM t
)
SELECT cte.*, SUM(Count) OVER(PARTITION BY grp ORDER BY timestamp) AS total
FROM cte