Как увеличить в запросе выбора

У меня есть запрос, над которым я работаю, и я хочу увеличить одно из полей и перезапустить счетчик, когда значение ключа будет другим.

Я знаю, что этот код не работает. Программно это то, что я хочу ...

declare @counter int, @id
set @counter = 0
set @id = 0

select distinct 
  id, 
  counter = when id = @id 
              then @counter += 1
            else @id = id  
               @counter = 1     

... с конечным результатом выглядит примерно так:

ID    Counter
3     1
3     2 
3     3
3     4
6     1
6     2
6     3
7     1

И да, я застрял с SQL2k. В противном случае этот row_number () будет работать.

Ответы на вопрос(5)

Ваш ответ на вопрос