SELECT game_ratingstblx245v.game_id,avg(game_ratingstblx245v.rating)
as avg_rating,
count(DISTINCT game_ratingstblx245v.userid)
as count,
game_data.name,
game_data.id ,
avg(game_ratings.critic_rating),count(DISTINCT game_ratings.critic)
as cr_count
FROM game_data
LEFT JOIN game_ratingstblx245v ON game_ratingstblx245v.game_id = game_data.id
LEFT JOIN game_ratings ON game_ratings.game_id = game_data.id
WHERE game_data.release_date < NOW()
GROUP BY game_ratingstblx245v.game_id
ORDER BY game_data.release_date DESC,
game_data.name
我currenty使用此查詢從3個表
game_data提取值 - ID(外鍵),姓名,RELEASE_DATE \遊戲信息
game_ratings - game_id(外鍵)評論家,評級\評論家評價
game_ratingstblx245v - game_id(外鍵),等級,用戶ID \用戶評價幫助在聯接查詢
我想這個查詢做的是選擇所有的ID從表game_data爲了通過RELEASE_DATE降下來,然後檢查來自表game_ratings和game_rating的平均評分sblx245v對應於個人ID(如果遊戲未被評級,結果應該從後兩個表的字段中返回null)。現在,我在這裏面臨的問題是結果並不像預期的那樣出現(有些遊戲還沒有額定都出現了,而有些則沒有),你們可以檢查我的查詢,並告訴我,我錯了,如果這樣...感謝
你不應該按game_data.game_id分組嗎? – 2009-09-22 00:42:23
這個whamps男人,我只是忽略了它...謝謝你做到了 – halocursed 2009-09-22 00:49:21