背景:软删除表中某个人员创建的最新一条记录
方案:先根据人员过滤数据,再通过创建时间倒叙排取第一条,形成一个派生表,再更新删除状态
完整sql:
UPDATE A
SET del_flag = 1
WHERE
id = ( SELECT * FROM ( SELECT id FROM A WHERE create_by = 'test' ORDER BY create_time DESC LIMIT 1 ) AS subquery );
知识点:select * from (...) AS subquery 表示形成一个派生表