今天公司修改了新的需求,需要按照客户id,查询出每个客户的最新合同审核信息。
一开始我打算单纯的使用分组来帮助我解决问题,但分组后获取的数据为最上面的一条,也是最老的一条数据,试了各种方法来取最新的一条数据,都以失败告终
select * from (select * from scf_act_ext_todo_task order by create_time desc) a group by business_id;
我写这条sql的想法为:既然他取得是最上面的那一条数据,那我按照创建一个最新的数据在第一行的结果表,然后来取值,可不可以;
然后失败了,但刚刚感觉又可以实现,待会再复现一下情况;
最后的解决方案为:
按客户id分组数据,然后查出最新的创建时间,然后将原来每个客户有多条数据的表关联,条件为创建时间等于刚刚查出的每个用户的最新创建时间。