假设我有一个表UserStatistics
包含以下列:
UserId (UNIQUEIDENTIFIER)
ViewCount (BIGINT)
SubscriberCount (BIGINT)
Rank (INT)
给数据库中数百万用户排名1-10或1-5的最佳方法是什么?
你推荐什么1-10或1-5或其他?为什么?
编辑:
我想把更多的重量放在
SubscriberCount
上而不是ViewCount
最佳答案
你可以用ntile来计算等级。
select *,
ntile(5) over(order by ViewCount+SubscriberCount) as CalculatedRank
from UserStatistics
如果希望
SubscriberCount
上的秩值为1-10且权重更大,则可以这样修改查询。select *,
ntile(10) over(order by ViewCount+SubscriberCount*2) as CalculatedRank
from UserStatistics