Muchas veces, nos encontramos con que necesitamos el número de fila en el cual se devolvieron los registros, por ejemplo, si hiciera una consulta que me devuelve 10 filas, puede que yo necesite una columna que me indique el número de fila, es decir, que me enumere del 1 al 10 las filas devueltas.

Pues bien, SQL 2005 implementa una nueva función que me devuelve el número de fila a partir de cierto criterio que yo especifique. La sintaxis es esta:

ROW_NUMBER () OVER (ORDER BY <order by column name>)

o

ROW_NUMBER () OVER (PARTITION BY <partition by column name>)

Por ejemplo, si necesitamos devolver la lista de empleados enumerados por orden de primer apellido, nuestra sentencia podría verse así:

SELECT ROW_NUMBER() OVER (ORDER BY Primer_Apellido) AS ROW, EmpID FROM Empleados

 

Aporte de Hector Bejarano