现在我使用以下简单查询显示每位用户的培训进度历史记录:
SELECT user_id, date, project, status
FROM a_training_status
GROUP by user_id, project
通过这种方式,我可以看到人们何时完成培训以及状态何时发生变化。 但我还需要一张表格,只显示每个评估者和项目的最新状态。 我尝试使用select max(date)但状态列不匹配。
有没有办法让两个分组显示最新的?
答案 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)