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