我有一个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
答案 0 :(得分:4)
试试这个:
;WITH Ranked
AS
(
SELECT *, ROW_NUMBER() OVER(ORDER BY passportnumber) row_num
FROM Tablename
)
UPDATE Ranked
SET srno = row_num;