比如我有2列,first_name
和last_name
這些值如何生成在選擇查詢自動增量場
Ali Khani
Elizabette Amini
Britney Spears
,...
我想寫一個select
查詢產生一個像這樣的表的表:
1 Ali Khani
2 Elizabette Amini
3 Britney Spears
,...
感謝您的幫助。
比如我有2列,first_name
和last_name
這些值如何生成在選擇查詢自動增量場
Ali Khani
Elizabette Amini
Britney Spears
,...
我想寫一個select
查詢產生一個像這樣的表的表:
1 Ali Khani
2 Elizabette Amini
3 Britney Spears
,...
感謝您的幫助。
如果它是MySQL中,你可以嘗試
SELECT @n := @n + 1 n,
first_name,
last_name
FROM table1, (SELECT @n := 0) m
ORDER BY first_name, last_name
而對於SQLServer的
SELECT row_number() OVER (ORDER BY first_name, last_name) n,
first_name,
last_name
FROM table1
這裏是支持窗口功能的SQL server, Oracle, PostgreSQL
。
SELECT ROW_NUMBER() OVER (ORDER BY first_name, last_name) Sequence_no,
first_name,
last_name
FROM tableName
DECLARE @id INT
SET @id = 0
UPDATE cartemp
SET @id = CarmasterID = @id + 1
GO
在這種情況下,你有沒有自然分區值,只是想要一個有序數無關的分區,你可以做一個ROW_NUMBER在一個恆定的,在下面的例子我剛剛使用'X'。 希望這可以幫助別人
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
您使用的是什麼RDBMS? – peterm