1
假設我在table_1中有int價格列,並且我還有int priceRank列表_1。現在可以用單個查詢按價格desc進行訂購,並通過row_number爲其分配等級。所以最大的價格將獲得排名第一,第二大將獲得排名第二,並繼續。 priceRank列將通過返回行的順序更新。我怎樣才能做到這一點 ?那可能嗎 ?謝謝。如何將單個查詢的排名分配給多個列?
我正在使用SQL Server 2008 R2。
假設我在table_1中有int價格列,並且我還有int priceRank列表_1。現在可以用單個查詢按價格desc進行訂購,並通過row_number爲其分配等級。所以最大的價格將獲得排名第一,第二大將獲得排名第二,並繼續。 priceRank列將通過返回行的順序更新。我怎樣才能做到這一點 ?那可能嗎 ?謝謝。如何將單個查詢的排名分配給多個列?
我正在使用SQL Server 2008 R2。
;with C as
(
select priceRank,
row_number() over(order by price desc) as rn
from Table_1
)
update C
set priceRank = rn
http://data.stackexchange.com/stackoverflow/q/119397/
使用rank
如果你想聯繫,具有相同的等級和使用dense_rank
如果你不想在等級值的任何間隙。