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

标签 php mysql sql phpmyadmin

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

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

SELECT 
    title,
    id,
    COUNT(title) 
FROM 
    q3ept_k2_items 
GROUP BY 
    title 
HAVING COUNT(title) > 1

最佳答案

请尝试一下,

为了保持最低的 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

关于php - SQL删除重复行在字段中找到相同的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30640765/

相关文章:

php - CSV 文件在浏览器中内联打开而不是提示 DL

php - 如何使用 ID 作为参数显示 SQL 数据库中的特定行

mysql - SQL查询在内部连接到右表后从左表中选择不同的行

sql - 导轨/事件记录 : how to get SQL COUNT and SUM to work with Postgres (at heroku)

mysql - SQL:执行 UPDATE IGNORE 并删除重复项

MySQL 显示 2 个 Group Bys 的行数

php - PHP中的REG_EPAREN

php - 错误: I want remove <option selected =""></option> tag,从数据库获取记录时自动添加

javascript - javascript-php json通信问题

php - mySQL 数据库字段 PHP 中的 Textarea 为空