MySQL - Selezione dei record in base a ID massima secondaria
Domanda
Ecco la parte del mio tavolo:
id team_id log_id 1 12 1 2 12 1 3 12 1 4 12 1 5 1 2 6 1 2 7 1 3 8 1 3
Cosa interrogazione produrrebbe questa uscita (in modo che solo i record con i valori più alti log_id vengono restituiti che corrispondono ai team_id)?
id team_id log_id 1 12 1 2 12 1 3 12 1 4 12 1 7 1 3 8 1 3
Soluzione
SELECT *
FROM mytable t
WHERE log_id = (SELECT MAX(log_id) FROM mytable WHERE team_id = t.team_id)
Altri suggerimenti
SELECT id, team_id, log_id
FROM table1 t2
JOIN (SELECT team_id, MAX(log_id) max_log_id
FROM table1
GROUP BY team_id) t2 ON t1.team_id = t2.team_id
AND t1.log_id = t2.max_log_id
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow