Muchas veces me han preguntado como poner el número de línea en un select de MicroSoft SQL Server. Aunque no lo crean es mucho más sencillo de lo que imaginan. Por ejemplo, queremos hacer un select de la tabla de empleados que contiene los siguientes campos:

  1. Nombre
  2. Apellido
  3. Posición

Para obtener todos los empleados con el número de la línea hacemos lo siguiente:

select rank() OVER (ORDER BY e.nombre, e.apellido) as num_linea, e.nombre, e.apellido, e.posicion
from empleados e
order by num_linea

Esto nos devolvera una tabla similar a la siguiente:


NUM_LINEA            NOMBRE  APELLIDO POSICION

-------------------- ------- -------- --------

1                    JUAN    PEREZ    GERENTE

2                    PEDRO   GRACIA   SUPERVISOR

3                    JULIO   ORTIZ    ASOCIADO

4                    JESSICA VAZQUEZ  GERENTE