Heim  >  Artikel  >  Datenbank  >  So fragen Sie doppelte Felder in MySQL ab

So fragen Sie doppelte Felder in MySQL ab

WBOY
WBOYOriginal
2022-01-12 10:17:2523764Durchsuche

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; ".

So fragen Sie doppelte Felder in MySQL ab

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:

So fragen Sie doppelte Felder in MySQL ab

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:

So fragen Sie doppelte Felder in MySQL ab

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:

So fragen Sie doppelte Felder in MySQL ab

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:

So fragen Sie doppelte Felder in MySQL ab

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn