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

So konfigurieren Sie eine statische Netzwerkverbindung in Linux

Das Konfigurieren der Netzwerkkonnektivität für L...

Detailliertes Tutorial zur Installation von Protobuf 3 unter Ubuntu

Wann ist die Installation durchzuführen? Wenn Sie...

VUE implementiert einen Beispielcode für das Spiel Flappy Bird

Flappy Bird ist ein sehr einfaches kleines Spiel,...

Installations-Tutorial zur dekomprimierten Version von MySQL5.7.21 unter Win10

Installieren Sie die entpackte Version von Mysql ...

Vue Element UI-Komponente für benutzerdefinierte Beschreibungsliste

In diesem Artikelbeispiel wird der spezifische Co...

Detaillierte Installation und Verwendung von Docker-Compose

Docker Compose ist ein Docker-Tool zum Definieren...

Hinzufügen und Löschen von Tabelleninformationen mit Javascript

Erste Schritte mit JavaScript JavaScript ist eine...

Fortgeschrittene JavaScript-Programmierung: Variablen und Umfang

Inhaltsverzeichnis 1. Ursprungswert und Bezugswer...

Erfahrungsaustausch zur MySQL-Slave-Wartung

Vorwort: Die MySQL-Master-Slave-Architektur dürft...

Spezifische Verwendung des Vollbild-Scrollens von fullpage.js

1.fullpage.js Download-Adresse https://github.com...

Docker-Kern und spezifische Verwendung der Installation

1. Was ist Docker? (1) Docker ist ein Open-Source...

Detailliertes Beispiel der MySQL curdate()-Funktion

Einführung in die MySQL CURDATE-Funktion Bei Verw...

Analyse und Lösung des beim Start von MySQL gemeldeten Fehlers „ERROR:2002“

Vorwort Dieser Artikel stellt hauptsächlich die A...