Código SQL:
Ver originalCREATE TABLE #temp
(
id INT,
idorganizacion INT,
codigo VARCHAR(20)
)
INSERT INTO #temp (id,idorganizacion,codigo) VALUES (4,1,'codigoA')
INSERT INTO #temp (id,idorganizacion,codigo) VALUES (3,1,'codigoB')
INSERT INTO #temp (id,idorganizacion,codigo) VALUES (2,1,'codigoH')
INSERT INTO #temp (id,idorganizacion,codigo) VALUES (1,2,'codigoM')
INSERT INTO #temp (id,idorganizacion,codigo) VALUES (6,2,'codigoK')
INSERT INTO #temp (id,idorganizacion,codigo) VALUES (9,3,'codigoP')
INSERT INTO #temp (id,idorganizacion,codigo) VALUES (7,4,'codigoG')
INSERT INTO #temp (id,idorganizacion,codigo) VALUES (8,4,'codigoZ')
SELECT ROW_NUMBER () OVER ( PARTITION BY idorganizacion
ORDER BY idorganizacion ASC, idorganizacion ASC) orden, id,idorganizacion,codigo
FROM #temp
resultado:
orden id idorganizacion codigo
1 4 1 codigoA
2 3 1 codigoB
3 2 1 codigoH
1 1 2 codigoM
2 6 2 codigoK
1 9 3 codigoP
1 7 4 codigoG
2 8 4 codigoZ
Saludos!