获取组mysql中的最新日期

时间:2017-02-06 20:53:27

标签: mysql greatest-n-per-group

我希望最后一次为每位工作人员举行会议,但没有在这里快速到达我的布局

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

2 个答案:

答案 0 :(得分:0)

您可以使用<div class="div1"> <ul> <li><input type="button" value="val1"></li> <li ><input type="button" value="val2"></li> <li ><input type="button" value="val2"></li> <li ><input type="button" value="val2"></li> <li ><input type="button" value="val2"></li> <li ><input type="button" value="val2"></li> <li ><input type="button" value="val2"></li> <li ><input type="button" value="val2"></li> </ul> </div> 子句和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; ,例如:

inner join

答案 1 :(得分:0)

感谢Darshan Mehta完成了这项工作

SELECT s.id,s.first_name,s.last_name,MAX(m.date)
来自员工的加入会议m ON s.id = m.staff
GROUP BY s.id,s.first_name,s.last_name
ORDER BY s.id;