我想創建一個評級系統,用戶可以評價圖片/視頻/音頻等我有兩個表的那一刻從數據庫(SQL)返回平均評分
Table: products
Cols: product_id[PK] | name | category | type | link
這是產品表幷包含有關產品的信息。如果您對產品感到困惑,請將「產品」視爲圖像/視頻/音頻,我將其命名爲這樣,只是爲了讓我更容易理解它。第二張表是評分
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_ids和他們的平均得分,以及如何通過PHP找到最高的一個?
我已經試過:
WHERE p.product_id < 1 AND p.product_id < 30
但這只是返回的2 PRODUCT_ID,與它的名稱和AVERAGE_RATING,我不明白。
指導/連結料,歡迎
你爲什麼給「where p.product_id = 1」? – 2010-11-18 17:03:13
這只是爲了證明給定的SQL返回指定產品ID的平均評級 – Daniel 2010-11-18 17:20:02