Подтвердить что ты не робот

Как сгенерировать поле автоматического приращения в выбранном запросе

Например, у меня есть таблица с двумя столбцами, first_name и last_name с этими значениями

Ali           Khani
Elizabette    Amini
Britney       Spears
,...

Я хочу написать запрос select, который генерирует таблицу следующим образом:

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

Спасибо за вашу помощь.

4b9b3361

Ответ 1

Если это MySql, вы можете попробовать

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

SQLFiddle

И для SQLServer

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

SQLFiddle

Ответ 2

здесь для SQL server, Oracle, PostgreSQL, которые поддерживают функции окна.

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

Ответ 3

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