SQL 删除重复的行在字段中找到相同的文本

SQL Delete Duplicate rows find same text in a field

我正在使用 phpmyadmin - joomla cms。 我有很多同标题的文章。现在我想删除所有具有相同标题的文章。请告诉我如何删除具有相同标题的相同文章的查询。

我使用了显示具有相同标题的文章数的命令。

SELECT 
    title,
    id,
    COUNT(title) 
FROM 
    q3ept_k2_items 
GROUP BY 
    title 
HAVING COUNT(title) > 1
SELECT DISTINCT title INTO temp FROM q3ept_k2_items;

DROP TABLE q3ept_k2_items;

RENAME TABLE temp TO q3ept_k2_items;
delete from table where title not in (select distinct(title) from table)

请试试这个,

为了保持最低的 id 值,

DELETE item1 FROM q3ept_k2_items item1, q3ept_k2_items item2 WHERE item1.id > item2.id AND item1.title = item2.title

为了保持最高的 id 值,

DELETE item1 FROM q3ept_k2_items item1, q3ept_k2_items item2 WHERE item1.id < item2.id AND item1.title = item2.title

如果你想提高一点性能,你可以改变这种风格,

WHERE item1.title = item2.title AND item1.id > item2.id

WHERE item1.title = item2.title AND item1.id < item2.id