Mysql查询具有多个组的最新条目

时间:2015-12-15 12:39:38

标签: mysql

现在我使用以下简单查询显示每位用户的培训进度历史记录:

SELECT user_id, date, project, status
FROM a_training_status
GROUP by user_id, project

通过这种方式,我可以看到人们何时完成培训以及状态何时发生变化。 但我还需要一张表格,只显示每个评估者和项目的最新状态。 我尝试使用select max(date)但状态列不匹配。

有没有办法让两个分组显示最新的?

2 个答案:

答案 0 :(得分:1)

试试这个:

SELECT user_id, project, status
FROM a_training_status AS t1
WEHRE `date` = (SELECT MAX(`date`) 
                FROM a_training_status AS t2
                WHERE t1.user_id = t2.user_id AND t1.project = t2.project)

答案 1 :(得分:1)

使用MySQL MAX

SELECT *
FROM a_training_status t1
Where date=(SELECT MAX(t2.date)
              FROM a_training_status t2
              WHERE t1.user_id = t2.user_id AND t1.project = t2.project)