sql >> Databáze >  >> RDS >> Oracle

Oracle SQL dotaz pro seskupení po sobě jdoucích záznamů

Zkuste tento dotaz:

SELECT line_no,
       amount,
       narration,
       SUM( x ) OVER ( ORDER BY line_no
                       ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW 
       ) as calc_group
FROM (
  SELECT t.*,
         CASE lag( narration ) OVER (order by line_no ) 
         WHEN narration THEN 0
         ELSE 1 END x
  FROM test t

)
ORDER BY line_no

demo --> http://www.sqlfiddle.com/#!4/6d7aa /9




  1. Existuje v MySQL alternativa `connect by`?

  2. Zálohování / export databáze z SSH

  3. Escape znak v SQL Server

  4. Jak se dostanete k limitům 8060 bajtů na řádek a 8000 na hodnotu (varchar, nvarchar)?