今天在项目上遇到一个需求,需要将相同标识的数据,新增一个时间字段,并且更新为第一条记录的创建时间
在使用子查询之后提示语法不对,于是转换思路,具体如下:
update cns_kinfo kinfo inner join (select min(operatedate) as operatedate,unitguid from cns_kinfo group by unitguid having count(1)>1) kkinfo
on kinfo.unitguid = kkinfo.unitguid
set kinfo.publishtime = kkinfo.operatedate
update abc a inner join (select f_id, count(*) co from abc group by f_id) b on a.id = b.f_id
set a.count = b.co
大致的思路就是先造出来一个虚拟表,然后通过更新虚拟表的方式去实现具体的更新
因篇幅问题不能全部显示,请点此查看更多更全内容