Oracle
 sql >> база данни >  >> RDS >> Oracle

Нулирайте сумата, когато условието е изпълнено в Oracle

Можете да създадете подгрупа, като използвате условна сума:

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



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да съхранявам масив от байтове в Oracle?

  2. Последователност без пропуски, при която са включени множество транзакции с множество таблици

  3. Премахване на дублиращи се редове в таблица

  4. Има ли еквивалент на sp_getapplock, sp_releaseapplock в oracle

  5. Как да получите други колони с не са в клауза GROUP BY в oracle select sql?