SQL Query for Grouping the results based on sequence

后端 未结 6 1775
南旧
南旧 2020-12-11 01:40

I have a table like this:

ID  Seq  Amt
1   1    500
1   2    500
1   3    500
1   5    500
2   10   600
2   11   600
3   1    700
3   3    700
6条回答
  •  盖世英雄少女心
    2020-12-11 02:42

    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
    ;
    

提交回复
热议问题