Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Zapytanie SQL do grupowania wyników na podstawie sekwencji

WITH numbered AS (
  SELECT
    ID, Seq, Amt,
    SeqGroup = ROW_NUMBER() OVER (PARTITION BY ID ORDER BY Seq) - Seq
  FROM atable
)
SELECT
  ID,
  Start = MIN(Seq),
  [End] = MAX(Seq),
  TotalAmt = SUM(Amt)
FROM numbered
GROUP BY ID, SeqGroup
ORDER BY ID, Start
;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Generuj unikalne 9-cyfrowe wartości

  2. Jak zduplikować tabelę na serwerze SQL (w tym PK i FK)

  3. Jak pobrać n-tą najwyższą pensję z tabeli bez używania TOP i podzapytania?

  4. Eksplorowanie operacji indeksowania online na poziomie partycji w programie SQL Server 2014 CTP1

  5. Jak uzyskać wszystkie dzienniki transakcji (wstawić usunięcie aktualizacji) dla określonej tabeli w SQL Server 2008?