How to generate an auto-increment field in a selected query

For example, I have a table with two columns, first_name and last_name with these values

 Ali Khani Elizabette Amini Britney Spears ,... 

I want to write a select query that generates a table as follows:

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

Thanks for your help.

+48
sql-server auto-increment
May 15 '13 at 1:43
source share
3 answers

If it's MySql, you can try

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

SQLFiddle

And for SQLServer

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

SQLFiddle

+90
May 15 '13 at 1:53
source share

here for SQL server, Oracle, PostgreSQL , which support window functions.

 SELECT ROW_NUMBER() OVER (ORDER BY first_name, last_name) Sequence_no, first_name, last_name FROM tableName 
+16
May 15 '13 at 1:53
source share
 DECLARE @id INT SET @id = 0 UPDATE cartemp SET @id = CarmasterID = @id + 1 GO 
-one
Oct 08 '15 at 11:57
source share



All Articles