Я пытаюсь создать row_number
на основе пользовательской группировки, но не могу ее создать.
Ниже приведен мой запрос
CREATE TABLE mytbl (wid INT, id INT)
INSERT INTO mytbl Values(1,1),(2,1),(3,0),(4,2),(5,3)
ТекущийВыходные данные
wid id
1 1
2 1
3 0
4 2
5 3
Запрос
SELECT *, RANK() OVER(PARTITION BY wid, CASE WHEN id = 0 THEN 0 ELSE 1 END ORDER BY ID)
FROM mytbl
Я хотел бы ранжировать строки в соответствии с пользовательским условием, например, если ID равен 0, тогда у меня есть новая группа, пока я не начнуимеют не 0 ID.
Ожидаемый результат
wid id RN
1 1 1
2 1 1
3 0 1
4 2 2
5 3 2