2009-10-02 2 views
0

Вот часть моего стола:MySQL - Выбор записей на основе максимального вторичного ID

 
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 

Что запрос будет производить этот вывод (так только записи с наибольшими значениями идентификаторов журнала _ возвращаются, соответствующие команды _ Я бы)?

 
id team_id log_id 
1   12  1 
2   12  1 
3   12  1 
4   12  1 
7   1  3 
8   1  3 

ответ

2
SELECT * 
FROM mytable t 
WHERE log_id = (SELECT MAX(log_id) FROM mytable WHERE team_id = t.team_id) 
+0

Это победитель для простоты и он просто работает. Большое вам спасибо, cletus! Вы, ребята, быстры! – MonkeyWrench32

1
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 
Смежные вопросы