mysql 使用group by分组的同时进行组内排序操作(根据某一个字段分组而不是id顺序)(按照add_time由前到后)

假设:分组字段 :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正序查询的,即查询的是每一组的时间最早的数据,如果查询的是最近的一条数据,自己试着调试一下即可。

你可能感兴趣的:(mysql)