Mysql
 sql >> Datenbank >  >> RDS >> Mysql

So finden Sie doppelte Datensätze in MySQL

Manchmal müssen Sie möglicherweise doppelte Datensätze in MySQL finden. So erhalten Sie doppelte Datensätze in einer Tabelle. Sie können es verwenden, um Zeilen mit doppelten Werten in MySQL zu erhalten

So finden Sie doppelte Werte in MySQL

Hier sind die Schritte, um doppelte Datensätze in MySQL zu erhalten. Angenommen, Sie haben die folgende MySQL-Tabelle mit doppelten Datensätzen.

mysql> Tabelle erstellen dup_orders(id int, Menge int);mysql> in dup_orders(id,amount) Werte einfügen (1, 100),(1.250),(2.350),(2.350);mysql> select * from dup_orders;+------+--------+| ID | Betrag |+------+--------+| 1 | 100 || 1 | 250 || 2 | 350 || 2 | 350 |+------+--------+

Bonus-Lesetext:MySQL fügt Unique Constraint hinzu

Doppelte Zeilenwerte in einer Spalte finden

Hier ist die SQL-Abfrage, um doppelte Werte für eine Spalte zu finden

SELECT col, COUNT(col)FROM table_nameGROUP BY colHAVING COUNT(col)> 1;

In der obigen Abfrage führen wir ein GROUP BY für die Spalte aus, für die wir Duplikate prüfen möchten. Wir verwenden auch eine COUNT()- und HAVING-Klausel, um die Zeilenanzahl für jede Gruppe zu erhalten.

Bonus-Lesetext:MySQL-Umbenennungsspalte

Wenden wir die obige Abfrage auf unsere dup_orders an Tabelle, um doppelte Werte für id zu erhalten Spalte

mysql> ID auswählen, Menge aus dup_orders gruppieren nach ID mit count(id)>1;+------+--------+| ID | Betrag |+------+--------+| 1 | 100 || 2 | 350 |+------+--------+

Doppelte Zeilenwerte in mehreren Spalten finden

Hier ist die SQL-Abfrage, um doppelte Werte für mehrere Spalten zu finden

SELECT col1, col2,..., COUNT(*)FROM table_nameGROUP BY col1, col2, ...HAVING (COUNT(col1)> 1) AND (COUNT(col2)> 1) AND ... 

In der obigen Abfrage führen wir ein GROUP BY aller Spalten durch (col1, col2 ), für die wir Duplikate finden möchten. Wir verwenden auch eine COUNT()- und HAVING-Klausel, um die Zeilenanzahl für jede Gruppe zu erhalten.

Bonuslektüre:Wie man Tabellen in MySQL dupliziert

Wenden wir die obige Abfrage auf unsere dup_orders an Tabelle, um doppelte Werte für id zu erhalten und Betrag Spalte

mysql> ID, Betrag, Anzahl(*) aus dup_orders auswählen Gruppe nach ID, Betrag mit Anzahl(ID)>1 und Anzahl(Betrag)>1;+------+------ --+----------+| ID | Betrag | count(*) |+------+--------+----------+| 2 | 350 | 2 |+------+--------+----------+

Hoffentlich können Sie jetzt problemlos doppelte Datensätze in MySQL erhalten.

Ubiq macht es einfach, Daten innerhalb von Minuten zu visualisieren und in Echtzeit-Dashboards zu überwachen. Probieren Sie es noch heute aus!