Referencia de funciones

ROW_NUMBER

Numera las filas de una partición de la ventana en el orden de ORDER BY, empezando por 1.

PostgreSQL 17.9
ROW_NUMBER()

Valor devuelto

Número entero (bigint) desde 1

Ejemplos

Números de fila por estado

PostgreSQL 17.9
SELECT member_name,
	status,
	ROW_NUMBER() OVER (
		ORDER BY status
	) AS row_num
FROM FamilyMembers;
member_namestatusrow_num
Wednesday Addamsdaughter1
Lela Quinceydaughter2
Annie Quinceydaughter3
Headley Quinceyfather4
Ernest Forrestfather5
Constance Forrestmother6
Flavia Quinceymother7
Andie Quinceyson8

Numeración dentro de cada estado

PostgreSQL 17.9
SELECT member_name,
	status,
	birthday,
	ROW_NUMBER() OVER (
		PARTITION BY status
		ORDER BY birthday
	) AS num_in_status
FROM FamilyMembers;
member_namestatusbirthdaynum_in_status
Lela Quinceydaughter1985-06-071
Annie Quinceydaughter1988-04-102
Wednesday Addamsdaughter2005-01-133
Headley Quinceyfather1960-05-131
Ernest Forrestfather1961-09-112
Flavia Quinceymother1963-02-161
Constance Forrestmother1968-09-062
Andie Quinceyson1983-06-051

Detalles

Las filas con valores iguales en ORDER BY reciben aun así números distintos, en un orden arbitrario. Sin ORDER BY el orden de la numeración no está definido.

Véase también

Dónde aprenderlo