add batch remove batch split batch comment selection show hidden batches hide batch highlight batch
db<>fiddle
donate feedback about
By using db<>fiddle, you agree to license everything you submit by Creative Commons CC0.
create table mytable (
EDate date,
EDateID int,
RID int,
rNum int,
prev_rNum int,
seqRec int
);

insert into mytable values
('2023-12-03', 14425, 7507, 1, null, 1),
('2023-12-01', 13422, 7507, 2, 1, 1),
('2023-11-19', 13418, 7507, 3, 2, 1),
('2023-11-12', 13413, 7507, 4, 3, 1),
('2023-11-11', 13414, 7507, 5, 4, 1),
('2023-11-05', 13412, 7507, 6, 5, 1),
('2023-10-14', 13401, 7507, 8, 6, 0),
('2023-10-06', 13400, 7507, 9, 8, 1),
('2023-10-05', 13400, 7507, 11, 9, 0),
('2023-10-04', 13400, 7507, 12, 11, 1);
10 rows affected
WITH cte AS (
SELECT *,
ROW_NUMBER() OVER(ORDER BY EDate DESC)
- SUM(seqRec) OVER(ORDER BY EDate DESC ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS grp
FROM mytable
)
SELECT *
FROM cte
EDate EDateID RID rNum prev_rNum seqRec grp
2023-12-03 14425 7507 1 null 1 0
2023-12-01 13422 7507 2 1 1 0
2023-11-19 13418 7507 3 2 1 0
2023-11-12 13413 7507 4 3 1 0
2023-11-11 13414 7507 5 4 1 0
2023-11-05 13412 7507 6 5 1 0
2023-10-14 13401 7507 8 6 0 1
2023-10-06 13400 7507 9 8 1 1
2023-10-05 13400 7507 11 9 0 2
2023-10-04 13400 7507 12 11 1 2
WITH cte AS (
SELECT *,
ROW_NUMBER() OVER(ORDER BY EDate DESC)
- SUM(seqRec) OVER(ORDER BY EDate DESC ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS grp
FROM mytable
)
SELECT top 1 COUNT(*) Total
FROM cte
GROUP BY grp
ORDER BY count(1) DESC
Total
6