Doppelte Werte in einer Datenbank können ein Problem sein, wenn hochkarätige Vorgänge durchgeführt werden. Sie können dazu führen, dass ein einzelner Wert mehrfach verarbeitet wird und das Ergebnis verdeutelt. Doppelte Aufzeichnungen nehmen auch mehr Platz als nötig, was zu einer langsamen Leistung führt.
In diesem Handbuch verstehen Sie, wie Sie doppelte Zeilen in einer SQL Server -Datenbank finden und entfernen können.
Die Grundlagen
Bevor wir weiter fortfahren, was ist eine doppelte Zeile? Wir können eine Zeile als Duplikat klassifizieren, wenn sie einen ähnlichen Namen und einen ähnlichen Wert für eine andere Zeile in der Tabelle enthält.
Um zu veranschaulichen, wie Sie doppelte Zeilen in einer Datenbank finden und entfernen können, beginnen wir mit dem Erstellen von Beispieldaten, wie in den folgenden Abfragen gezeigt:
Verwenden Sie DuplicatedB;In der obigen Beispielabfrage erstellen wir eine Tabelle mit Benutzerinformationen. Im nächsten Klauselblock verwenden wir das Einfügen in die Anweisung, um der Tabelle der Benutzer doppelte Werte hinzuzufügen.
Finden Sie doppelte Zeilen
Sobald wir die von uns benötigten Beispieldaten haben, sollten wir in der Tabelle der Benutzer nach doppelten Werten suchen. Wir können dies mit der Anzahl der Grafen tun wie:
Wählen Sie Benutzername, E -Mail, Telefon, Staaten, zählen (*) als count_Value von Benutzerngruppen per Benutzername, E -Mail, Telefon, Staaten mit Count (*)> 1;Das obige Code -Snippet sollte die doppelten Zeilen in der Datenbank zurückgeben und wie oft sie auf der Tabelle erscheinen.
Ein Beispielausgang ist wie gezeigt:
Als nächstes entfernen wir die doppelten Zeilen.
Doppelte Zeilen löschen
Der nächste Schritt besteht darin, doppelte Zeilen zu entfernen. Wir können dies tun, indem wir die Löschabfrage verwenden, wie im folgenden Beispiel -Snippet gezeigt:
Löschen Sie von Benutzern, wobei ID nicht in (MAX (ID) aus Benutzerngruppen nach Benutzername, E -Mail, Telefon, Staaten);
Die Abfrage sollte die doppelten Zeilen beeinflussen und die eindeutigen Zeilen in der Tabelle aufbewahren.
Wir können die Tabelle als:
Wählen Sie * von Benutzern aus;Der resultierende Wert ist wie gezeigt:
Doppelte Zeilen löschen (Join)
Sie können auch eine Join -Anweisung verwenden, um doppelte Zeilen aus einer Tabelle zu entfernen. Ein Beispiel für Beispielabfragen ist wie unten gezeigt:
Löschen Sie A von Benutzern eine innere VerbindungDenken Sie daran, dass die Verwendung von innerem Join zum Entfernen von Duplikaten in einer umfangreichen Datenbank länger dauern kann als andere.
Doppelte Zeile löschen (row_number ())
Die Funktion row_number () weist den Zeilen in einer Tabelle eine sequentielle Nummer zu. Wir können diese Funktionalität verwenden, um Duplikate aus einer Tabelle zu entfernen.
Betrachten Sie die Beispielabfrage unten:
Verwenden Sie DuplicatedBDie obige Abfrage sollte die von der Funktion row_number () zurückgegebene Werte verwenden, um die Duplikate zu entfernen. Eine doppelte Zeile erzeugt einen Wert höher als 1 aus der Funktion row_number ().
Abschluss
Es ist gut, Ihre Datenbanken sauber zu halten, indem Sie doppelte Zeilen aus den Tabellen entfernen. Dies hilft, die Leistung und den Speicherplatz zu verbessern. Mit den Methoden in diesem Tutorial reinigen Sie Ihre Datenbanken sicher.