版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wangxinxinsj/article/details/89185230
SELECT
b.student_name,
b.student_id,
b.date,
b.bed,
d.punch_time,
d.punch_date
FROM
student_attendance AS b
LEFT JOIN student_attendance_arrange AS c ON c.id = b.arrange_id
LEFT JOIN student_punch as d on d.student_id=b.student_id WHERE
c.type = 4 AND b.date = 20190410
AND b.organization_id = 22
AND b.dorm_room_id=13 GROUP BY b.student_id
这里默认获取的是 d表中的第一条,punch_time不是最新的时间
SELECT
b.student_name,
b.student_id,
b.date,
b.bed,
max(d.punch_time) as punch_time,
d.punch_date
FROM
student_attendance AS b
LEFT JOIN student_attendance_arrange AS c ON c.id = b.arrange_id
LEFT JOIN student_punch as d on d.student_id=b.student_id WHERE
c.type = 4 AND b.date = 20190410
AND b.organization_id = 22
AND b.dorm_room_id=13 GROUP BY b.student_id
这里利用mysql 的max函数,就能获取到student_punch表里最新的一条数据了