1、顯示行号
如果資料沒有删除的情況下主鍵與行号是一緻的,但在删除某些資料,行号就與主鍵不一緻了,這時需要查詢行号就需要用新的方法,在SQL Server2005之前,需要使用臨時表,但在SQL Server2005中,使用ROW_NUMBER()非常友善。
以下是一個查詢語句,意思是按照cid将資料排序,然後将排序後的序号填入建立的字段rowNum。
select row_number() over (order by cid) as rowNum,* from t_gene
查詢結果:
2.運用
以下是本文需要達到的目的,即排序後,将排序後的序号更新到指定字段。
with ts as(
select row_number() over (order by clccode) as rn,* from t_gene
)
update ts
set cdkxh=rn
運作結果:
未排序前。此時可以看到字段cdkxh大小參差不齊
select * from t_gene
排序後,将臨時字段rn的序号更新到字段cdkxh