2011-04-17 93 views
2

假設我有一個表UserStatistics具有下列:計算用戶等級

UserId (UNIQUEIDENTIFIER) 
ViewCount (BIGINT) 
SubscriberCount (BIGINT) 
Rank (INT) 
  1. 什麼是給予1-10個或1-5個等級,以百萬計的用戶的最佳方式數據庫?
  2. 你會推薦什麼? 1-10或1-5還是別的?爲什麼?

編輯:

我希望把更多的重量放在SubscriberCountViewCount

回答

4

要計算你可以使用ntile這樣的排名範圍內。

select *, 
ntile(5) over(order by ViewCount+SubscriberCount) as CalculatedRank 
from UserStatistics 

如果你想排名值在1-10 SubscriberCount和更多的重量可以修改本查詢。

select *, 
ntile(10) over(order by ViewCount+SubscriberCount*2) as CalculatedRank 
from UserStatistics 
2

這取決於你想用這個排名才達到什麼......

如果你只是想在一些粗糙的羣體中對羣組進行分組,然後1-5

如果您想要應用一些細微的差異,那麼您應該使用1-10

這只是基於純粹在其中進一步分析rankig在應用程序