In MySQL können Sie die Funktion count() verwenden, um wiederholte Felder abzufragen. Diese Funktion kann die Ergebnisse bestimmter Bedingungen zurückgeben. Die Syntax lautet „SELECT field value COUNT(*) as count FROM table name GROUP BY field value with count>.“ ;1; ".
Die Betriebsumgebung dieses Tutorials: Windows10-System, MySQL8.0.22-Version, Dell G3-Computer.
So fragen Sie doppelte Felder in MySQL ab
Beispiel Die Daten der Accountinfo-Tabelle lauten wie folgt:
Szenario 1 Suche und Deduplizierung von Einzelfeld-Duplikatdaten
Wir möchten die gleichen Daten im Einzelfeldkonto Feld in der obigen Tabelle Finden Sie es heraus.
Die Idee ist in drei Schritte unterteilt:
Der erste Schritt
Um doppelte Daten zu finden, denken wir zunächst daran, dass die Zahl größer als 1 ist, was berücksichtigt wird ein Duplikat. Das ist die Zählfunktion.
Da es sich bei dem, was wir überprüfen möchten, um ein einzelnes Feldkonto handelt, müssen wir entsprechend der Kontofelddimension gruppieren. Das ist die Gruppierung nach Funktion.
Dann lautet die MySQL-Anweisung, die wir im ersten Schritt geschrieben haben:
SELECT account ,COUNT(account) as count FROM accountinfo GROUP BY account;
Die Abfrageergebnisse lauten wie folgt:
Schritt 2
Ja, wie wir dachten, wenn die Anzahl größer als 1 ist, sind es die Konten A- und B-Daten.
Dann lassen Sie uns ein wenig filtern und nur das Konto der Daten herausfinden, deren Anzahl größer als 1 ist.
Der zweite Schritt besteht darin, die Filterbedingungen zu verbinden:
SELECT account FROM accountinfo GROUP BY account HAVING COUNT(account) > 1;
Die Abfrageergebnisse lauten wie folgt:
Der dritte Schritt
Die doppelten Kontodaten A B werden gefunden , wir nur Es ist notwendig, andere Daten mit den Konten A und B zusammen abzufragen.
Das heißt, die im zweiten Schritt gefundenen Daten als Unterabfragebedingungen zu verwenden und die IN-Funktion zu verwenden.
Die im dritten Schritt geschriebene MySQL-Anweisung lautet:
SELECT * FROM accountinfo WHERE account IN ( SELECT account FROM accountinfo GROUP BY account HAVING COUNT(account) > 1 );
Die Abfrageergebnisse lauten wie folgt:
Sie können sehen, dass die doppelten Daten von uns herausgefiltert wurden.
Empfohlenes Lernen: MySQL-Video-Tutorial
Das obige ist der detaillierte Inhalt vonSo fragen Sie doppelte Felder in MySQL ab. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!