假设:分组字段 :std_id 排序字段:add_time
过程:
1、首先将数据抽取出来形成单独一张表,并使用group_by 对两个字段整体分组 group by std_id,add_time
2、然后再对查询出来的数据按照分组字段std_id分组 group by std_id
sql:
select cs.id,cs.std_id,cs.add_time,FROM_UNIXTIME(cs.add_time) as new_time
from school_info as si join school_place as sp on sp.sch_id=si.id
join class_info as ci on ci.place_id=sp.id
join class_std as cs on cs.cls_id=ci.id
where si.id=1045 and sp.is_del=0 and ci.is_del=0 group by cs.std_id,cs.add_time ) AS new group by new.std_id
注:这里是按照add_time正序查询的,即查询的是每一组的时间最早的数据,如果查询的是最近的一条数据,自己试着调试一下即可。