Entfernen Sie doppelte MySQL-Einträge und behalten Sie nur einen
P粉916760429
2023-08-25 15:38:04
<p>So entfernen Sie doppelte MySQL-Einträge (aber behalten nur einen)</p>
<p>Hallo zusammen, ich habe ein Problem. Ich habe mehrere Datensätze mit derselben ID und möchte doppelte Datensätze entfernen, aber nur einen behalten. Irgendwelche Ideen zur Verwendung von MySQL-Anweisungen? </p>
<p>Ich habe diese Anweisung, um die Anzahl der Datensätze und Duplikate anzuzeigen, aber sie funktioniert bei mir nicht, wenn ich die delete-Anweisung verwende: </p>
<pre class="brush:php;toolbar:false;">SELECT
Email,
COUNT(E-Mail)
AUS
Kontakte
GRUPPE NACH E-Mail
HAVING COUNT(email) > 1;</pre>
<p>Ich verwende diese Anweisung, aber sie entfernt nur einen doppelten Datensatz: </p>
<pre class="brush:php;toolbar:false;">DELETE FROM wp_options WHERE option_id=5 limit 1;</pre>
<p>Gibt es eine Möglichkeit zur Stapelverarbeitung? </p>
<p>Update: Ich verwende diese Anweisung, aber sie entfernt alle doppelten Datensätze, ohne einen beizubehalten: </p>
<pre class="brush:php;toolbar:false;">LÖSCHEN AUS xhi_options
WHERE option_id IN (SELECT option_id
FROM (SELECT option_id
VON xhi_options
GROUP BY option_id
HAVING COUNT(option_id) > 1) AS T)</pre></p>
在你的删除语句中,你使用了
limit 1
选项,这意味着你只会删除一条记录。尝试修复你的代码,像这样:
您可以使用此方法保留具有最低id值的行
这是一个示例链接 链接1
或者您可以将
>
更改为<
以保留最高id这是一个示例链接 链接2