2012-06-23 59 views
2

我有幾個需要加入的表。該表是:MySQL加入+「WHERE something = MAX(something)」

球員

  • FIRST_NAME
  • 姓氏
  • 性別
  • LOCATION_ID
  • (額外無關列)

score_entries

  • 得分
  • 日期時間
  • player_id
  • (額外無關列)

我要加入他們基於player_id,只想選擇players.location_id最大的記錄。因此,像這樣:

SELECT 
players.first_name, 
players.last_name, 
players.gender, 
score_entries.score, 
score_entries.datetime as jump_date 
players.location_id, 
FROM score_entries 
LEFT JOIN players 
ON score_entries.player_id = players.id 
WHERE gender="m" 
AND location_id="***(ONLY THE HIGHEST LOCATION_ID VALUE IN THE TABLE)***" 

回答

1

請嘗試以下查詢

SELECT 
    players.first_name, 
    players.last_name, 
    players.gender, 
    score_entries.score, 
    score_entries.datetime as jump_date, 
    players.location_id 
FROM score_entries 
LEFT JOIN players 
ON score_entries.player_id = players.id 
WHERE gender="m" 
AND players.location_id = (SELECT MAX(location_id) from players) 
+0

完美!謝謝! – user1418227

相關問題