2009-10-02 75 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值返回的记录ID)?

 
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 2009-10-02 09:24:36

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