1

我正在设计一个网站,但不知道如何根据逻辑对系统进行评分。

结果是我希望获得 1000 票的 4 星项目的排名高于 1 票 5 星的项目。但是,我不希望 1 星和 1000 票的项目排名高于 4 星和 200 票的项目。

有人对该怎么做有任何想法或建议吗?

我发现了这两个问题

在 SQL 中按加权评分排序?

MySQL 评级系统 - 查找评级

他们有他们的缺点,在第一个中,我不明白获胜者的意思是“如果你有很多收视率,你可能希望出于性能原因将这个收视率值非规范化为事件。” 请分享一些见解?谢谢!

4

2 回答 2

1
于 2012-04-14T08:12:35.230 回答
1

He means, you should put rating-data into the event-table (and thus have redundant data) to optimize it for performance.

See the wiki for Denormalization: http://en.wikipedia.org/wiki/Denormalization

The data you have to determine the rank of items is:

  • average rating
  • number of ratings

The hard part is probably to make rules for the ranking. Like: If the average rating for an item > 4 and the number of ratings < 4 treat it like rated 3.9

For convenience, I would put this value (how to treat the items for ranking) in the item-table.

于 2012-04-14T08:25:48.307 回答