-2

我有一个看起来像的 sql 表:

srno | passportnumber|flightnumber
Null | ABC123        |AI-2000
Null | ab3333        |AI-2011
Null | ab565235      |AI-2562
Null | ABC123        |AI-2025
Null | ABC123        |AI-5623
Null | XYZ12334      |AI-5625

我需要一个查询来按护照号对它们进行排序,以便重复的护照号 rpws 彼此相邻,然后我想更新表以插入序列号。结果应该是这样的:

1    | ABC123        |AI-2000
2    | ABC123        |AI-2025
3    | ABC123        |AI-5623
4    | ab3333        |AI-2011
5    | ab565235      |AI-2562
6    | XYZ12334      |AI-5625
4

1 回答 1

4

尝试这个:

;WITH Ranked
AS
(
   SELECT *, ROW_NUMBER() OVER(ORDER BY passportnumber) row_num
   FROM Tablename
) 
UPDATE Ranked
SET srno = row_num;

现场演示

于 2012-11-19T10:23:01.407 回答