Puede utilizar la siguiente consulta:
SELECT RaidNo, OutComeID, RN,
CASE
WHEN OutComeID <> 16 THEN 0
ELSE ROW_NUMBER() OVER (PARTITION BY OutComeID, grp ORDER BY RN)
END AS Result
FROM (
SELECT RaidNo, OutComeID, RN,
RN - ROW_NUMBER() OVER (PARTITION BY OutComeID ORDER BY RN) AS grp
FROM mytable) AS t
ORDER BY RN
Campo grp
identifica segmentos (también llamados islas) de registros consecutivos que tienen el mismo OutComeID
valor. La consulta externa usa grp
para enumerar cada registro que pertenece a un '16'
rodaja. A los registros que pertenecen a los otros segmentos se les asigna el valor 0
.