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