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
如果你不想在等级值的任何间隙。