看了好几篇博文关于这个查询数据库最新一条记录 没有得出正确的答案特此记录一下
先看一下表结构
A表:
B表:
B表的car_id关联A表的car_id
先说单表的查询以B表为例:
sql语句: select *from (select b.* from car_examinelog as b ORDER BY b.e_time desc) as c GROUP BY c.car_id
这里的sql意思是先按日期排序 在按照car_id分组 这样查出每个car_id最新的一条记录,要是有别的条件 如果按照id查询 where c.car_id 就可以也可以使用 limit等
查询结果:
我最终的sql是4表联查
select a.*,p.*,m.cu_name as cuName,u.u_name as uNames from car_carsource as a left join
(select * from (select b.* from car_examinelog as b ORDER BY b.e_time desc) as b GROUP BY b.car_id) as p on a.car_id=p.car_id
left join car_user as u on p.u_id=u.u_id
left join car_customeruser as m on a.cu_id=m.cu_id
有问题请留言即使回复