MySQL MariaDB

MySQL Doppelte Werte in Tabelle finden

MySQL Doppelte Werte in Tabelle finden
Redundante Daten können vom Datenbankprogramm in der Tabelle gehalten werden und beeinflussen die Ausgabe der Datenbank in MySQL. Die Datenreplikation erfolgt jedoch zu unterschiedlichen Zwecken, und es ist eine wichtige Aufgabe, die doppelten Werte in der Tabelle zu identifizieren, wenn es sich um eine MySQL-Datenbank handelt. Im Großen und Ganzen ist es klug, häufig klare Einschränkungen für eine Tabelle zu verwenden, um Informationen zu speichern, die redundante Zeilen verhindern. Manchmal möchten Sie in einer MySQL-Datenbank möglicherweise die Anzahl der wiederholten Werte berechnen. Wir haben diese Frage in diesem Thema behandelt, in dem Sie erfahren, wie Sie doppelte Werte auf verschiedene Weise finden und doppelte Werte zählen können.

Um zu beginnen, müssen Sie MySQL mit seinen Dienstprogrammen auf Ihrem System installiert haben: MySQL-Workbench und Befehlszeilen-Client-Shell. Danach sollten Sie einige Daten oder Werte in Ihren Datenbanktabellen als Duplikate haben. Lassen Sie uns dies anhand einiger Beispiele untersuchen explore. Öffnen Sie zunächst Ihre Befehlszeilen-Client-Shell über Ihre Desktop-Taskleiste und geben Sie Ihr MySQL-Passwort ein, wenn Sie dazu aufgefordert werden.

Wir haben verschiedene Methoden gefunden, um Duplikate in einer Tabelle zu finden. Schau sie dir einzeln an.

Duplikate in einer einzelnen Spalte suchen

Zuerst müssen Sie die Syntax der Abfrage kennen, die verwendet wird, um Duplikate für eine einzelne Spalte zu prüfen und zu zählen.

>> SELECT Spalte COUNT(col) FROM Tabelle GROUP BY Spalte HAVING COUNT(col) > 1;

Hier ist die Erklärung der obigen Abfrage:

Wir haben eine neue Tabelle namens 'Tiere' in unserer MySQL-Datenbank 'data' mit doppelten Werten erstellt created. Es hat sechs Spalten mit unterschiedlichen Werten, z.G., ID, Name, Spezies, Geschlecht, Alter und Preis mit Informationen zu verschiedenen Haustieren. Beim Aufrufen dieser Tabelle mit der SELECT-Abfrage erhalten wir die folgende Ausgabe auf unserer MySQL-Befehlszeilen-Client-Shell.

>> AUSWÄHLEN * AUS Daten.Tiere;

Jetzt werden wir versuchen, die redundanten und wiederholten Werte aus der obigen Tabelle zu finden, indem wir die COUNT- und GROUP BY-Klausel in der SELECT-Abfrage verwenden. Diese Abfrage zählt die Namen von Haustieren, die sich weniger als dreimal in der Tabelle befinden. Danach werden diese Namen wie folgt angezeigt.

>> WÄHLEN SIE Name ANZAHL(Name) AUS Daten.Tiere GRUPPE NACH Name HABEN ANZAHL(Name) < 3;

Verwenden Sie dieselbe Abfrage, um unterschiedliche Ergebnisse zu erhalten, während Sie die COUNT-Nummer für die Namen von Haustieren ändern, wie unten gezeigt.

>> WÄHLEN SIE Name ANZAHL(Name) AUS Daten.Tiere GRUPPE NACH Name HAVING COUNT(Name) > 3;

Um Ergebnisse für insgesamt 3 doppelte Werte für die Namen von Haustieren zu erhalten, wie unten gezeigt.

>> WÄHLEN SIE Name ANZAHL(Name) AUS Daten.Tiere GRUPPE NACH Name HAVING COUNT(Name) = 3;

Duplikate in mehreren Spalten suchen

Die Syntax der Abfrage zum Prüfen oder Zählen von Duplikaten für mehrere Spalten lautet wie folgt:

>> SELECT col1, COUNT(col1), col2, COUNT(col2) FROM table GROUP BY col1, col2 HAVING COUNT(col1) > 1 AND  COUNT(col2) > 1;

Hier ist die Erklärung der obigen Abfrage:

Wir haben dieselbe Tabelle namens 'Tiere' mit doppelten Werten verwendet. Wir haben die folgende Ausgabe erhalten, während wir die obige Abfrage zum Überprüfen der doppelten Werte in mehreren Spalten verwendet haben. Wir haben die doppelten Werte für die Spalten Geschlecht und Preis überprüft und gezählt, während sie nach der Spalte Preis gruppiert sind. Es werden die Haustiergeschlechter und ihre Preise, die in der Tabelle enthalten sind, als Duplikate von nicht mehr als 5 angezeigt.

>> AUSWÄHLEN Geschlecht, ANZAHL(Geschlecht), Preis, ANZAHL(Preis) VON Daten.Tiere GRUPPE NACH Preis HAVING COUNT(Preis) < 5 AND  COUNT(Gender) < 5;

Duplikate in einer einzelnen Tabelle mit INNER JOIN suchen

Hier ist die grundlegende Syntax zum Auffinden von Duplikaten in einer einzelnen Tabelle:

>> SELECT Spalte1, Spalte2, Tabelle.col FROM table INNER JOIN(SELECT col FROM table GROUP BY spalte HAVING COUNT(col1) > 1) temp ON table.col= temp.Spalte;

Hier ist die Erzählung der Overhead-Abfrage:

Wir haben eine neue Tabelle, 'order2' mit doppelten Werten in der Spalte OrderNo, wie unten gezeigt.

>> AUSWÄHLEN * AUS Daten.bestellen2;

Wir wählen drei Spalten aus: Artikel, Verkauf, Bestellnummer, die in der Ausgabe angezeigt werden sollen. Während die Spalte OrderNo verwendet wird, um Dubletten zu überprüfen. Der innere Join wählt die Werte oder Zeilen mit den Werten von mehr als einem Element in einer Tabelle aus. Nach der Ausführung erhalten wir die folgenden Ergebnisse.

>> Artikel auswählen, Verkauf, Bestellung2.BestellNr FROM Daten.order2 INNER JOIN(SELECT OrderNo FROM data.order2 GRUPPE NACH OrderNo HAVING COUNT(Item) > 1) temp ON order2.BestellNr= temp.Best.-Nr;

Duplikate in mehreren Tabellen mit INNER JOIN suchen

Hier ist die vereinfachte Syntax zum Auffinden von Duplikaten in mehreren Tabellen:

>> SELECT col FROM table1 INNER JOIN table2 ON table1.Spalte = Tabelle2.Spalte;

Hier ist die Beschreibung der Overhead-Abfrage:

Wir haben zwei Tabellen, 'order1' und 'order2', in unserer Datenbank mit der Spalte 'OrderNo' in beiden, wie unten gezeigt displayed.

Wir verwenden den INNER-Join, um die Duplikate zweier Tabellen gemäß einer bestimmten Spalte zu kombinieren. Die INNER JOIN-Klausel ruft alle Daten aus beiden Tabellen ab, indem sie sie zusammenführt, und die ON-Klausel bezieht dieselben Namensspalten aus beiden Tabellen, z.G., Best.-Nr.

>> AUSWÄHLEN * AUS Daten.order1 INNER JOIN-Daten.Bestellung2 AUF Bestellung1.BestellNr = Bestellung2.Best.-Nr;

Um die bestimmten Spalten in einer Ausgabe abzurufen, versuchen Sie den folgenden Befehl:

>> WÄHLEN Sie Region, Status, Artikel, Umsatz aus Daten aus.order1 INNER JOIN-Daten.Bestellung2 AUF Bestellung1.BestellNr = Bestellung2.Best.-Nr;

Fazit

Wir könnten jetzt nach mehreren Kopien in einer oder mehreren Tabellen mit MySQL-Informationen suchen und die Funktionen GROUP BY, COUNT und INNER JOIN erkennen. Stellen Sie sicher, dass Sie die Tabellen richtig erstellt haben und auch die richtigen Spalten ausgewählt sind.

Top 5 Karten zur Spielaufnahme
Wir alle haben Streaming-Gameplays auf YouTube gesehen und geliebt. PewDiePie, Jakesepticye und Markiplier sind nur einige der Top-Gamer, die Millione...
So entwickeln Sie ein Spiel unter Linux
Vor einem Jahrzehnt hätten nicht viele Linux-Benutzer vorhergesagt, dass ihr Lieblingsbetriebssystem eines Tages eine beliebte Spieleplattform für kom...
Open-Source-Ports kommerzieller Spiele-Engines
Kostenlose, quelloffene und plattformübergreifende Spiel-Engine-Nachbildungen können verwendet werden, um sowohl alte als auch einige der relativ neue...