我試圖從一個名爲遊戲的表格中選出前三名,這些表格有玩家的外鍵和主持人和對手的個人比分的2個整數。MySQL查詢排序高分
查詢:
SELECT
games.id, games.host_score, games.opponent_score, player.name
FROM games, player
WHERE player.id = games.host_player_id
|| player.id = games.opponent_player_id
ORDER BY games.host_score, games.opponent_score DESC LIMIT 3
查詢完成,但它回來了亂序:
id host_score opponent_score name
17 0 0 Temp2
17 0 0 Temp0
16 770 930 Temp0
當我運行一個查詢,不具有或它的工作原理。我怎樣才能使這種方法工作?
也有一種方法來設置50的限制,但不計算重複? 例如,如果我想的2,但3人的限制有50分和2人有得分20它將返回:
id host_score opponent_score name
17 50 0 Temp2
17 50 0 Temp0
17 50 0 Temp1
17 20 0 Temp3
17 20 0 Temp4
或者它會更好地運行在PHP中單獨quesies?
是什麼讓你認爲出了故障? (0,0,770)看起來像是按主機得分遞增的順序... –
不要使用'||'和'&&'。 SQL中有'OR'和'AND'。 –