resueltos numero fila ejercicios ejemplos datos consultas complejas sql-server auto-increment

sql-server - numero - ejemplos de sql en base de datos



Cómo generar un campo de incremento automático en la consulta de selección (4)

Aquí está para el SQL server, Oracle, PostgreSQL que admiten funciones de ventana.

SELECT ROW_NUMBER() OVER (ORDER BY first_name, last_name) Sequence_no, first_name, last_name FROM tableName

Por ejemplo, tengo una tabla con 2 columnas, primer nombre y last_name con estos valores

Ali Khani Elizabette Amini Britney Spears ,...

Quiero escribir una consulta de select que genere una tabla como esta:

1 Ali Khani 2 Elizabette Amini 3 Britney Spears ,...

Gracias por tu ayuda.


En el caso de que no tenga un valor de partición natural y solo quiera un número ordenado, independientemente de la partición, solo puede hacer un número de fila sobre una constante. En el siguiente ejemplo, acabo de usar ''X''. Espero que esto ayude a alguien

select ROW_NUMBER() OVER(PARTITION BY num ORDER BY col1) as aliascol1, period_next_id, period_name_long from ( select distinct col1, period_name_long, ''X'' as num from {TABLE} ) as x


Si es MySql puedes probar

SELECT @n := @n + 1 n, first_name, last_name FROM table1, (SELECT @n := 0) m ORDER BY first_name, last_name

SQLFiddle

Y para SQLServer

SELECT row_number() OVER (ORDER BY first_name, last_name) n, first_name, last_name FROM table1

SQLFiddle


DECLARE @id INT SET @id = 0 UPDATE cartemp SET @id = CarmasterID = @id + 1 GO