una row_number registros numeros numero numerar hacer generar fila ejemplos correlativo contador consulta consecutivos consecutivo como sql sql-server sql-server-2005

row_number - Agregar un número de fila al conjunto de resultados de una consulta SQL



numero de fila sql server (2)

El patrón típico sería el siguiente, pero debe definir realmente cómo se debe aplicar el ordenamiento (ya que una tabla es, por definición, una bolsa de filas sin ordenar):

SELECT t.A, t.B, t.C, number = ROW_NUMBER() OVER (ORDER BY t.A) FROM dbo.tableZ AS t ORDER BY t.A;

No estoy seguro de qué se supone que representan las variables en su pregunta (no coinciden).

Tengo una simple declaración de selección. Quiero agregar una columna temporal que numere las filas en mi conjunto de resultados. Probé esto

declare @num int set @num = 0; select t.A, t.B, t.C, (@count + 1) as number from tableZ as t

Asigna el 1 a todas las filas. Intenté @count = @count + 1 y no funcionó. ¿Cómo hago esto de una manera simple?

Gracias.


SELECT t.A, t.B, t.C, ROW_NUMBER() OVER (ORDER BY (SELECT 1)) AS number FROM tableZ AS t

Ver ejemplo de trabajo en SQLFiddle

Por supuesto, es posible que desee definir el orden de numeración de filas; si es así, simplemente cambie OVER (ORDER BY (SELECT 1)) por, por ejemplo, OVER (ORDER BY tC) , como en una cláusula ORDER BY normal.