Enumerando el número de fila devuelto por una sentencia SQL en SQL Server 2005 o superior

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

Comments

Unknown said…
This comment has been removed by a blog administrator.
Unknown said…
This comment has been removed by a blog administrator.

Popular posts from this blog

Desempeño de SQL Server 2008 R2 y Max Worker Threads

Cómo identificar consultas más pesadas en SQL Server

SQL Server La longitud de los datos LOB (2200100) que se van a replicar excede el máximo configurado 65536.