Por ejemplo, tengo una tabla con 2 columnas first_namey last_namecon estos valores
Ali           Khani
Elizabette    Amini
Britney       Spears
,...
Quiero escribir una selectconsulta que genere una tabla como esta:
1     Ali           Khani
2     Elizabette    Amini
3     Britney       Spears
,...
Gracias por tu ayuda.
                    
                        sql-server
                                auto-increment
                                
                    
                    
                        wf Khani
fuente
                
                fuente

Respuestas:
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_nameSQLFiddle
Y para SQLServer
SELECT row_number() OVER (ORDER BY first_name, last_name) n, first_name, last_name FROM table1SQLFiddle
fuente
table1lugarfirst_nameylast_namecómo puedo hacer referencia a todas? IntentarSELECT @n := @n + 1 n, *no funcionaSELECT @n := @n + 1 n, table1.*SET @n = 0;(SELECT @n := 0). La belleza oculta de este enfoque es que tiene una sola declaración en lugar de dos, lo cual es bueno cuando se prohíben varias declaraciones en su código de cliente.aquí está para
SQL server, Oracle, PostgreSQLqué funciones de la ventana de soporte.SELECT ROW_NUMBER() OVER (ORDER BY first_name, last_name) Sequence_no, first_name, last_name FROM tableNamefuente
En el caso de que no tenga un valor de partición natural y solo desee un número ordenado independientemente de la partición, puede simplemente 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 xfuente
DECLARE @id INT SET @id = 0 UPDATE cartemp SET @id = CarmasterID = @id + 1 GOfuente