可能是重复的:
仅使用MySQL查询删除重复项?
我有一个包含不同页面的表,但其中一些是重复的。唯一确定重复项的方法是通过标题。我运行下面的代码,它完美地工作:
<?php
mysql_connect("localhost", "root", "root") or die(mysql_error());
mysql_select_db("old") or die(mysql_error());
$result = mysql_query("SELECT pagetitle, COUNT( * ) c
FROM cms_site_content
GROUP BY pagetitle
HAVING c >1") or die(mysql_error());
while($row = mysql_fetch_array($result)){
echo $row['id'].'-'.$row['pagetitle'].'<br />';
}
?>
我的问题是:如何删除重复项并仅保留一个条目。例如,如果我有一篇名为“重复文章”的文章,并且结果为
重复文章:3
我只想保留一个。
mysql_*
函数。它们已不再得到支持,社区已开始停用过程。看到红框了吗?相反,您应该学习使用预处理语句,并使用PDO或MySQLi之一。如果您无法决定,请参阅此文章以作为选择的帮助。如果您有兴趣学习,这里有一个很好的PDO教程。 - PeeHaa