ユーザーが写真/ビデオ/オーディオなどを評価できる評価システムを作成しようとしています。現在、2つのテーブルがあります。
Table: products
Cols: product_id[PK] | name | category | type | link
これは製品テーブルであり、製品に関する情報が含まれています。製品に戸惑う方は、「製品」を画像/ビデオ/オーディオと考えてください。わかりやすくするために、このように名前を付けました。2番目の表は評価です
Table: product_ratings
Cols: rating_id[PK] | rating | product_id | timestamp
このテーブルには、ユーザーが付けた評価に関する情報が格納されます。
すべての「製品」について(平均して)最高の評価が表示されるページが必要です。これまでのところ、SAを調べて、次のコードを見つけました。
SELECT
p.product_id, p.name,
AVG(pr.rating) AS rating_average
FROM products p
INNER JOIN product_ratings pr
ON pr.product_id = p.product_id
WHERE p.product_id = 1
これは、特定のproduct_idの平均評価を返すだけです。すべてのproduct_idとその平均評価を取得するにはどうすればよいですか。また、PHPを介して最高の評価を見つけるにはどうすればよいですか。
私はもう試した:
WHERE p.product_id < 1 AND p.product_id < 30
しかし、これは2のproduct_idを返すだけで、その名前とaverage_ratingがわかりません。
ガイダンス/資料へのリンクは大歓迎です