2011-01-19 12 views
7

Estamos usando PostgreSQL v8.2.3.¿Cómo se genera el número de serie en una consulta?

¿Cómo se genera el número de serie en la salida de la consulta? Quiero mostrar el número de serie para cada fila devuelta por la consulta.

Ejemplo: SELECT employeeid, name FROM employee

espero para generar y mostrar el número de serie en contra de cada fila a partir de uno.

Respuesta

14

Usted tiene dos opciones.

o actualizar a PostgreSQL v8.4 y utilizar la función row_number():

SELECT row_number() over (ORDER BY something) as num_by_something, * 
FROM table 
ORDER BY something; 

o saltar a través de unos aros como se describe en Simulating Row Number in PostgreSQL Pre 8.4.

4
 
SELECT row_number() over (order by employeeid) as serial_number, 
     employeeid, 
     name 
FROM employee 

Si desea asignar los números de acuerdo a la clasificación del nombre, cambiar el orden en el over cláusula

+0

Pero 'row_number()' * función de ventana * no está disponible en v8.2. – Gnanam

+1

Disculpe, no vi que está utilizando 8.2, pero le recomiendo que actualice. –

Cuestiones relacionadas