2
設置上排名列..order增加值試想一個表[ID,名稱,位置,價錢]TSQL - 通過價格
目前該表有所有具有排名紀錄= 0最簡單的方法並且每個記錄具有不同的價格值。
什麼是最快的方式更新該位置並設置其價值獨特,並基於價格,其中最低價格的記錄是位置= 1,第二最低位置= 2 ...所以上?
感謝先進。
設置上排名列..order增加值試想一個表[ID,名稱,位置,價錢]TSQL - 通過價格
目前該表有所有具有排名紀錄= 0最簡單的方法並且每個記錄具有不同的價格值。
什麼是最快的方式更新該位置並設置其價值獨特,並基於價格,其中最低價格的記錄是位置= 1,第二最低位置= 2 ...所以上?
感謝先進。
您可以使用row_number
來編號的行。子查詢需要通過別名來引用行號:
update yt
set Position = rn
from (
select row_number() over (order by Price desc) as rn
, *
from YourTable
) yt
什麼應用,從而優雅地一見一見這樣一個先進的SQL :-) –