前言
今天需要删除数据库中某个字段(source_id)的重复数据,但是又要保留其中最新的一条,思路是:
根据该字段分组,获取分组中最大的那一条,用not in 包裹,然后执行delete语句。中间遇到了两个问题,第一个就是报错MySql]You can't specify target table for update in FROM clause
,参考博客:https://blog.csdn.net/jsloveyou/article/details/79024600 解决了,第二个问题是:我写的sql比较复杂,经大佬指点后最终实现如下。
最终实现的sql
DELETE
FROM
draft_video
WHERE
draft_video.id NOT IN (
SELECT
result.