Mysql, einige komplexe SQL-Anweisungen (Abfragen und Löschen doppelter Zeilen)

Mysql, einige komplexe SQL-Anweisungen (Abfragen und Löschen doppelter Zeilen)

1. Suchen Sie nach doppelten Zeilen

Wählen Sie * aus Blog-Benutzerrelation ein WHERE (eine.Konto-Instanz-ID, eine.Follow-Konto-Instanz-ID) 
IN (SELECT Konto-Instanz-ID, Follow-Konto-Instanz-ID FROM Blog-Benutzer-Relation GROUP BY Konto-Instanz-ID, Follow-Konto-Instanz-ID HAVING
 ANZAHL(*) > 1)

2. Löschen Sie doppelte Zeilen (behalten Sie eine)

PS: Aufgrund der Löschfunktion von MySQL gilt: Wenn die Where-Bedingung der gelöschten Tabelle „in“ enthält und diese Tabelle auch in „in“ vorhanden ist, kann sie nicht gelöscht werden.

/*Eine temporäre Tabelle erstellen*/
Tabelle erstellen blog_user_relation_temp AS
(
 SELECT * FROM blog_user_relation a WHERE 
 (eine.Konto-Instanz-ID,eine.Follow-Konto-Instanz-ID) 
 IN (SELECT account_instance_id,follow_account_instance_id FROM blog_user_relation GROUP BY account_instance_id, follow_account_instance_id HAVING COUNT(*) > 1)
 UND 
 relation_id 
 NICHT IN (SELECT MIN(relation_id) FROM blog_user_relation GROUP BY account_instance_id, follow_account_instance_id HAVING COUNT(*)>1));

/*Daten löschen*/
LÖSCHEN AUS `blog_user_relation`, WO relation_id IN (WÄHLEN relation_id AUS blog_user_relation_temp);

/*Temporäre Tabelle löschen*/
DROP TABLE blog_user_relation_temp;

Das könnte Sie auch interessieren:
  • Verwenden Sie SQL-Batch-Ersetzungsanweisungen, um Feldinhalte zu ändern, hinzuzufügen und zu löschen
  • SQL-Anweisung zum Löschen doppelter Datensätze und Behalten nur eines
  • Must-Know-SQL-Anweisungen (IV) Daten löschen und aktualisieren
  • Wichtige SQL-Anweisungen (Teil 2) Tabelle erstellen, Tabellenstruktur ändern, Tabelle löschen
  • Beispielcode zum Erstellen und Löschen von Einschränkungen mithilfe von SQL-Anweisungen
  • Oracle verwendet SQL-Anweisungen zum Hinzufügen von Feldern (SQL-Anweisungen zum Löschen von Feldern).
  • SQL-Anweisung zum Batch-Löschen der angegebenen Präfixtabelle in MySQL
  • So löschen und fügen Sie Fremdschlüssel und Primärschlüssel mit SQL-Anweisungen hinzu
  • Vergleich der MySQL Delete- und Truncate-Anweisungen
  • Verstehen Sie einfach die Unterschiede in den Prinzipien gängiger SQL-Delete-Anweisungen

<<:  Implementierung eines Puzzlespiels mit js

>>:  Beispielanalyse der Listen-Direktive in Nginx

Artikel empfehlen

Zusammenfassung einiger gängiger Methoden des JavaScript-Arrays

Inhaltsverzeichnis 1. So erstellen Sie ein Array ...

Erfahren Sie mehr über MySQL-Datenbanken

Inhaltsverzeichnis 1. Was ist eine Datenbank? 2. ...

Welche Wissenssysteme brauchen Webdesigner?

Produktdesigner sind mit komplexen und großen Fert...

Detaillierte Erklärung des digitalen Puzzles CocosCreator Huarongdao

Inhaltsverzeichnis Vorwort Text 1. Panel 2. Huaro...

MySQL Best Practices: Grundlegende Arten von Partitionstabellen

Übersicht über partitionierte MySQL-Tabellen Da M...

Detaillierte Erläuterung der gleichzeitigen Parameteranpassung von MySQL

Inhaltsverzeichnis Abfrage-Cache-Optimierung Über...

So sichern Sie MySQL-Kontoinformationen elegant

Vorwort: Ich bin kürzlich auf das Problem der Ins...

Einfache Installation des vi-Befehls im Docker-Container

Wenn Sie einen Docker-Container verwenden, ist vi...

So stellen Sie MySQL 5.7- und 8.0-Master-Slave-Cluster mit Docker bereit

> MySQL 5.7 Cluster Master und Slave bereitste...

So löschen Sie den MySQL-Dienst vollständig (bereinigen Sie die Registrierung)

Vorwort Beim Installieren der ausführbaren Datei ...

So passen Sie die Bash-Eingabeaufforderung in Linux an

Vorwort Wie wir alle wissen, ist Bash (die Bourne...