-1

私は現在自分のプロジェクトに取り組んでいますが、いくつかの問題に遭遇しました:/ 私の方法は、データベースから情報を収集し、平均をカウントすることになっています。これは私がこれまでに得たものです:

Rate: 4
Food_Food_ID: 2
------------
Rate: 4
Food_Food_ID: 2
------------
Rate: 2
Food_Food_ID: 2
------------
Rate: 12
Food_Food_ID: 2
------------
Rate: 5
Food_Food_ID: 4
------------
Rate: 10
Food_Food_ID: 4
------------
Average: 6.166666666666667

(これはすべてのレートの平均です:/)

しかし、私は取得しようとしています:

Rate: 22
Food_Food_ID: 2
Average: 5.5

------------
Rate: 15
Food_Food_ID: 2
Average: 7.5
------------

すべての評価を追加してから、評価の平均をカウントする必要があります。私はそれをうまく説明したことを願っています:)

コードは次のとおりです。http://pastebin.com/zUdF9HwF

ここに初めて投稿します。うまくいったことを願っています。そして助けてくれてありがとう:D

4

1 に答える 1

4

これがSQLが発明された目的です。以下を参照してください。

SELECT user.Food_Food_ID, AVG(user.Rate)
FROM user 
     INNER JOIN food ON user.Food_Food_ID = food.Food_Food_ID
GROUP BY user.Food_Food_ID

ループなし、カウントなし、たった 1 つの SQL で結果が得られます。

于 2013-01-08T19:32:35.240 に答える