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
DECLARE @id INT
SET @id = 0
UPDATE cartemp
SET @id = CarmasterID = @id + 1
GO