Как сгенерировать поле автоматического приращения в выбранном запросе
Например, у меня есть таблица с двумя столбцами, first_name
и last_name
с этими значениями
Ali Khani
Elizabette Amini
Britney Spears
,...
Я хочу написать запрос select
, который генерирует таблицу следующим образом:
1 Ali Khani
2 Elizabette Amini
3 Britney Spears
,...
Спасибо за вашу помощь.
Ответы
Ответ 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