Jamers Posted November 17, 2015 Report Share Posted November 17, 2015 先不说什么,看语句: select p.*,dt.* from list_pdata p left join (select d.* from op_details d INNER join (select code,substring_index(GROUP_CONCAT(id order by cftime desc),',',1) cid from op_details where status=1 and cftime<=UNIX_TIMESTAMP() group by code ) t on t.code=d.code and d.id=t.cid ) as dt on p.code=dt.code order by p.code 先来解释几个表: list_pdata 里面有所有的点位数据,code唯一 op_details 里面是所有点位的操作数据,code与pdata相对应,status=1 及 cftime的条件为的是看完成的时间点 我想做的是,从list_pdata中取所有数据,把op_details指定条件内的对应code值的最后一条记录给结联上去。因为group by 无法排序取其它数值,只能够用group_concat加排序,取第一个ID记录进行结联。 Link to comment Share on other sites More sharing options...
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now