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

Detaillierte Erläuterung der praktischen Anwendung des HTML-Tabellenlayouts

Wann wird die Tabelle eingesetzt? Tabellen werden...

Vue ruft die PC-Kamera auf, um die Fotofunktion zu realisieren

In diesem Artikelbeispiel wird der spezifische Co...

JavaScript zum Erzielen eines Texterweiterungs- und -reduzierungseffekts

Die Implementierung des Erweiterns und Reduzieren...

Einführung in CSS-Stileinführungsmethoden und ihre Vor- und Nachteile

Drei Möglichkeiten, CSS einzuführen 1. Inline-Sti...

CentOS 8 offiziell veröffentlicht, basierend auf Red Hat Enterprise Linux 8

Das CentOS-Projekt, ein 100 % kompatibler Neuaufb...

Detaillierte Einführung in den HTML-Head-Tag

Der HTML-Kopfteil enthält viele Tags und Elemente,...

Docker erstellt CMS-On-Demand-System mit Player-Funktion

Inhaltsverzeichnis Text 1. Maschine vorbereiten 2...

Manuelle Implementierung des bidirektionalen Datenbindungsprinzips von Vue2.0

In einem Satz: Datenentführung (Object.defineProp...

Detailliertes Tutorial zur Installation von Docker auf CentOS 7.5

Einführung in Docker Docker ist eine Open-Source-...