0

製品 ID の MySQL テーブルがあります。このテーブルには、これらの各製品が顧客から 1、2、3、4、または 5 つ星の評価を受けた回数を示す列があります。現在空白になっている平均評価の列に、各製品の平均評価を示す数値を挿入したいと思います。

各製品 ID の平均評価を計算し、この平均評価を平均評価列に挿入するようにテーブルを変更するにはどうすればよいですか? 次に、php スクリプトと cron ジョブを使用してこの SQL ステートメントを毎日実行し、平均評価を再計算し、各製品の評価が記録されるたびにこのテーブルを更新するのが理想的です。

テーブルのレイアウトの例は次のとおりです。

Product ID | 1 | 2 | 3 | 4 | 5 | Average Rating

1294518    | 0 | 3 | 3 | 2 | 4 | ?

9226582    | 0 | 0 | 1 | 0 | 0 | ?

3946583    | 0 | 3 | 6 | 1 | 0 | ?

7392588    | 1 | 0 | 0 | 0 | 0 | ?

1196585    | 0 | 1 | 0 | 5 | 6 | ?

4285385    | 0 | 2 | 3 | 3 | 1 | ?
4

1 に答える 1

3

やってみました:

UPDATE table
SET aveRate = (rate1 + rate2*2  + rate3*3  + rate4*4 + rate5*5) /
                           (rate1 + rate2 + rate3 + rate4 + rate5)

何か不足していますか?

于 2013-05-23T11:21:00.220 に答える