0

私は、教師と教師の評価を含むサイトを構築しています。評価は学生によって行われ、学生が教師を探している場合、基準の中に平均評価を含めて教師をフィルタリングできるようにしたいと考えています。

各教師の各生徒による各評価は、教師を評価する星の数をデータベースに入れます。各教師の平均星を計算できるクエリが既にあります

    SELECT AVG(star) AS Average FROM rating_table WHERE  type = 'Member_review' 
    AND teacher_id = id_number

id_number は明らかに教師の user_id です。

人々がすべての教師の検索ページにいるとき、他の基準の中でもとりわけ、評価によって教師をフィルタリングできるようにしてほしい. このクエリを foreach ループに入れて、すべての教師 ID を実行することができますが、これはサーバーに大きな負荷をかけると思われます - コンマ区切りの ID の文字列をクエリを実行して、それぞれの平均評価を見つけますか? このクエリを試してみましたが、うまくいきませんでした

    SELECT AVG(star) AS Average FROM rating_table WHERE  type = 'Member_review' 
    AND teacher_id IN(1,2,3, etc...) 

各教師の user_id の平均を取得し、このようなものを出力させるクエリを取得する方法はありますか?

    Average     Teacher ID
    3.5         6
    4.6         2
4

1 に答える 1

2

はい。これは基本的な集計クエリです。

SELECT AVG(star) AS Average, teacher_id
FROM rating_table
WHERE type = 'Member_review' and
      teacher_id IN(1,2,3, etc...) 
group by teacher_id
于 2013-06-18T01:34:16.483 に答える