Or this simple and very fast method, which work on both SQL Server 2000 and SQL Server 2005.The trick is to have the primary key (clustered index) over ID column.-- Prepare sample dataDECLARE @Sample TABLE (ID INT IDENTITY(1, 1) PRIMARY KEY, Seq INT, Output INT)INSERT @Sample ( Seq )SELECT 1 UNION ALLSELECT 2 UNION ALL SELECT 2 UNION ALLSELECT 2 UNION ALLSELECT 3 UNION ALLSELECT 4 UNION ALLSELECT 4 UNION ALLSELECT 2 UNION ALLSELECT 2 UNION ALLSELECT 2 UNION ALLSELECT 3-- Prepare staging controlsDECLARE @LastSeq INT, @Output INTSELECT TOP 1 @LastSeq = Seq, @Output = 1FROM @SampleORDER BY IDUPDATE @SampleSET @Output = Output = CASE WHEN Seq = @LastSeq THEN @Output ELSE @Output + 1 END, @LastSeq = Seq-- Show the expected outputSELECT ID, Seq, OutputFROM @Sample
E 12°55'05.25"N 56°04'39.16"