partition by關鍵字是分析性函數的一部分,它和聚合函數(如group by)不同的地方在於它能返回一個分組中的多條記錄,而聚合函數一般只有一條反映統計值的記錄, partition by用於給結果集分組,如果沒有指定那麼它把整個結果集作為一個分組。 partition by 與group ...
partition by關鍵字是分析性函數的一部分,它和聚合函數(如group by)不同的地方在於它能返回一個分組中的多條記錄,而聚合函數一般只有一條反映統計值的記錄,
partition by用於給結果集分組,如果沒有指定那麼它把整個結果集作為一個分組。
partition by 與group by不同之處在於前者返回的是分組裡的每一條數據,並且可以對分組數據進行排序操作。後者只能返回聚合之後的組的數據統計值的記錄。
用法 : select *,ROW_NUMBER() over( partition by Name order by Score ) as newrow
from table
刪除關鍵欄位重覆列
@newtable ---表名
@key --自增列
@repeate ---查重覆的關鍵欄位
delete ' +@newtable+' where ' +@key+' in(select ' +@key+' from (select *,RANK() over(partition by '+@repeate+' order by '+@key+' ) as newrow from '+@newtable+') nt where nt.newrow>1)