我正在尝试使sql删除所有重复的标题,但必须在以下情况下删除重复的标题:
到目前为止,我已经做到了(使用select进行测试…)
SELECT topic_id,object_id,title,url,date FROM topics GROUP BY title HAVING ( COUNT(title) > 1) ORDER BY topic_id DESC
但是不符合条件。 我正在使用mysql。
在中MySQL,您无法DML为子查询中的操作指定目标表(除非您将目标表嵌套的深度超过一层,但是在这种情况下,您将无法获得可靠的结果,也无法使用相关的子查询)。
MySQL
DML
使用JOIN:
JOIN
DELETE td FROM topics td JOIN topics ti ON ti.object_id = td.object_id AND ti.title = td.title AND ti.topic_id > td.topic_id;
创建索引topics (object_id, title, topic_id)以使其快速运行。
topics (object_id, title, topic_id)