Supposons que j'ai une table UserStatistics
avec les colonnes suivantes:
UserId (UNIQUEIDENTIFIER) ViewCount (BIGINT) SubscriberCount (BIGINT) Rank (INT)
MODIFIER:
Je voudrais mettre plus de poids sur le SubscriberCount
que ViewCount
Pour calculer le rang, vous pouvez utiliser ntile comme ceci.
select *, ntile(5) over(order by ViewCount+SubscriberCount) as CalculatedRank from UserStatistics
Si vous voulez des valeurs de rang à 1-10 et plus de poids sur SubscriberCount
vous pouvez modifier la requête comme ceci.
select *, ntile(10) over(order by ViewCount+SubscriberCount*2) as CalculatedRank from UserStatistics
Cela dépend de ce que vous voulez réaliser avec ce classment …
Si vous voulez juste regrouper les gens en groupes bruts, alors 1-5
Si vous voulez appliquer quelques différences subtiles, alors vous devriez aller avec 1-10
C'est purement basé sur le context dans lequel vous parsingz le classment plus loin dans votre application