Мне нужно получить номер строки для каждой записи нуля по порядку.Перезапустите число, когда получите значение в строке.
Я пытался до сих пор
select *
, ROW_NUMBER() over (order by id) rn
from @tbl
select *
, ROW_NUMBER() over (partition by value order by id) rn
from @tbl
declare @tbl table(id int, value int)
insert into @tbl values
(1, null), (2, null), (3, null), (4, 1),(5, null), (6, null), (7, 1), (8, null), (9, null), (10, null)
select *
, ROW_NUMBER() over (partition by value order by id) rn
from @tbl
Я получаю это:
id, value, rn
1 NULL 1
2 NULL 2
3 NULL 3
4 1 4
5 NULL 5
6 NULL 6
7 1 7
8 NULL 8
9 NULL 9
10 NULL 10
Я хочутакой результат
id, value, rn
1 NULL 1
2 NULL 2
3 NULL 3
4 1 1
5 NULL 1
6 NULL 2
7 1 1
8 NULL 1
9 NULL 2
10 NULL 3
Как получить желаемый результат с помощью SQL-запроса?