我希望了解上次为每位员工举行 session 的时间,但没有快速完成,这是我的布局
Meetings
id staff date notes <br>
1 46 2016-01-01 Test notes <br>
2 46 2016-02-28 test note<br>
3 56 2017-01-05
4 56 2017-02-15
staff
id first_name last_name<br>
46 test 1 user1 <br>
56 test 2 user2
这是我的查询,但它不会告诉我他们最后一次开会的日期
SELECT
staff.first_name,
staff.last_name,
meetings.`date`,
meetings.notes,
meetings.`type`,
meetings.id
FROM
meetings
Inner Join staff ON meetings.staff = staff.id
GROUP BY
meetings.staff
最佳答案
您可以将 GROUP BY
子句与 MAX
函数结合使用来获得所需的结果,例如:
SELECT s.id, s.first_name, s.last_name, MAX(m.date)
FROM staff s LEFT JOIN meetings m ON s.id = m.staff
GROUP BY s.id, s.first_name, s.last_name
ORDER BY s.id;
更新
如果您不想包含尚未参加过任何 session 的员工,那么您可以使用内部加入
,例如:
SELECT s.id, s.first_name, s.last_name, MAX(m.date)
FROM staff s JOIN meetings m ON s.id = m.staff
GROUP BY s.id, s.first_name, s.last_name
ORDER BY s.id;
关于mysql - 获取mysql组中的最新日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42077081/