我正在做一個食物評論的網頁,有一個名爲top 10的頁面,根據食物評論它將顯示前10名。我目前有這個SQL,但它結合了所有的菜餚評分和組合爲一盤。這條SQL語句被放置在PHP代碼中。SQL語句沒有正確分組
SELECT i.path, i.name, AVG(r.review_rating), r.image_id
FROM images i, review r
WHERE r.image_id = i.id
GROUP BY 'r.image_id'
ORDER BY AVG(r.review_rating) DESC
LIMIT 10
歡迎來到Stack Overflow。請儘快閱讀[關於]頁面和[詢問]頁面。 「不工作」並不能很好地表徵問題。使用SQL,我們確實需要查看查詢中每個表的大綱模式,以及一些(2-5?)行數據,並描述了您所看到的以及您想查看的內容。簡單地給出表名,列名和樣本值而沒有正式模式就足夠了。 –
GROUP BY子句中'r.image_id'附近的引號是什麼?它們似乎是單引號,所以您按照常量字符串進行分組,這可能意味着您只能獲得一個組,因爲組「列」(值)只有一個值。如果你正在使用MySQL(這是一個好主意,以確定你正在使用SQL問題的數據庫管理系統),你可能打算使用''GROUP BY'r'.'image_id''雖然坦率地說我會使用'GROUP BY r.image_id'。 –
而老式的'FROM table1,table2'表示法被SQL-92過時了。你不應該在20年後寫成的SQL中使用它。 –