Ho una query su cui sto lavorando e voglio incrementare uno dei campi e riavviare il contatore quando un valore chiave è diverso.Come incrementare in una query selezionata
So che questo codice non funziona. Programmazione questo è quello che voglio ...
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
... con il risultato finale cercando qualcosa di simile:
ID Counter
3 1
3 2
3 3
3 4
6 1
6 2
6 3
7 1
E sì, mi sono bloccato con SQL2K. Altrimenti che row_number() funzionerebbe.
A seconda della resto di ciò che è disponibile nella tua query, forse il Row_Number() sarebbe d'aiuto? – reallyJim
@reallyJim: se utilizzano SQL2K, come suggerito dai tag, "ROW_NUMBER" non sarà disponibile. – LukeH
@LukeH TOTALMENTE ha mancato quel punto! – reallyJim