MYSQL でベイジアン評価システムの設定を開始する方法を理解しようとしています。私は 5 つ星の評価を使用していませんが、同様の評価を使用しています。私のは5ボリュームバーになります。
これは私のアルバムページです。ユーザーはアルバムを評価する代わりに、平均してアルバムの評価になる曲を評価します。
$songsum
$songavg
$numofrated
$totalsongs
$albumrating
$songsum / $numofrated = $songavg
$songavg * ($numofrated / $totalsongs) = $albumrating
別のページ(アーティストページ)も評価されます。
$avg_num_votes = 18; // Average number of votes in all products
$avg_rating = 3.7; // Average rating for all products
$this_num_votes = 6; // Number of votes for this product
$this_rating = 4; // Rating for this product
$bayesian_rating =
( ($avg_num_votes * $avg_rating) + ($this_num_votes * this_rating) )
/ ($avg_num_votes + $this_num_votes);
これを設定するにはどうすればよいですか?$this_rating
アルバムと同じテーブルにある必要がありますか?
追加情報
- MYSQL のテーブル: アルバム、曲、ジャンル、ソロ、グループ
- すでに外部キーリンケージがあります