显而易见了,说不能对进行查询操作的表进行update操作,也就说我们的where条件中进行了子查询,并且子查询也是针对需要进行update操作的表的,mysql不支持这种查询修改的方式。
参见:http://www.jb51.net/article/102784.htm
实现sql语句如下
DELETE FROM `1001aa_takeaway_competition_csv`
WHERE id IN
(SELECT b.tt
FROM
(SELECT MAX(a.id) AS tt FROM `1001aa_takeaway_competition_csv` a
WHERE (a.`origin`,a.`destination`)
IN
(SELECT `origin`,`destination` FROM `1001aa_takeaway_competition_csv`
GROUP BY `origin`,`destination` HAVING COUNT(*) > 1)
GROUP BY a.`origin`,a.`destination`)
AS b)