天天看点

MySQL数据库分组查询每个分组最晚或最早时间的那条数据

SELECT

     t1.status 

    ,t1.work_type 

    ,t1.labor_id_card_no 

    FROM

    lms_labor_job_relation t1

    right join (SELECT labor_id_card_no,MAX(entry_date) as entry_date FROM lms_labor_job_relation GROUP BY labor_id_card_no) tb1 on (tb1.entry_date = t1.entry_date and t1.labor_id_card_no = tb1.labor_id_card_no)

    GROUP BY t1.labor_id_card_no

如上sql,需先对lms_labor_job_relation进行group by查出每个人的最大时间和身份证作为tb1,再用lms_labor_job_relation与tb1做连接查出结果。

继续阅读