在我的数据库中,有一个series
表:
series_id | series_name | series_avg_rating
-----------------------------------------------------
1 | The 100 | null
2 | The walking dead | null
用户可以“评价”系列(0.01到5.00)。等级注册方式如下:
ratings_user_id | ratings_series_id | ratings_rating
-----------------------------------------------------
1 | 1 | 4.50
4 | 2 | 2.50
现在,为了计算系列表的series_avg_rating
列,我目前正在使用以下查询:
SELECT AVG(ratings_rating) FROM ratings WHERE ratings_series_id = 1;
这有效。但是主要的问题是,用户可以给系列节目打5分,而该节目会跳到收视率最高的节目的第一名。这不是我想要的。
我想找出一种方法,使评分更具意义,只有最好的才能获得最高的注册评分。
有人知道这样做的好方法吗?是否有基本公式或查询来检索“加权”平均值?