Detaillierte Einführung in das MySQL-Schlüsselwort Distinct

Detaillierte Einführung in das MySQL-Schlüsselwort Distinct

Einführung in die Verwendung des MySQL-Schlüsselworts Distinct

DDL

SQL vorbereiten:

Tabelle erstellen Test (ID Bigint nicht null Primärschlüssel Auto_Increment,
   Name varchar(10) nicht null,
   Telefon varchar(10) nicht null,
   E-Mail varchar (30) nicht null)engine=innodb;

Daten vorbereiten:

 in Test einfügen (Name, Telefonnummer, E-Mail) Werte (,alibaba‘,,0517‘,,[email protected]‘);
  in Test einfügen (Name, Telefonnummer, E-Mail) Werte (,alibaba‘,,0517‘,,[email protected]‘);
  in Test einfügen (Name, Telefonnummer, E-Mail) Werte (,Baidu‘,,010‘,,[email protected]‘);
  in Test einfügen (Name, Telefon, E-Mail) Werte (,Tencent‘,,0755‘,,[email protected]‘);
  in Test einfügen (Name, Telefon, E-Mail) Werte (,vipshop‘,,020‘,,[email protected]‘);
  in Test einfügen (Name, Telefonnummer, E-Mail) Werte (,ctrip‘,,021‘,,[email protected]‘);
  in Test einfügen (Name, Telefonnummer, E-Mail) Werte (,suning‘,,025‘,,[email protected]‘);

Die Abfragedaten werden in der folgenden Abbildung dargestellt:

Was bedeutet das Wort „Geld“? title=

Verwenden Sie im ersten Fall das Schlüsselwort Distinct, um einspaltige Daten abzufragen, wie in der folgenden Abbildung gezeigt:

Was bedeutet das Wort „a“? title=

Ergebnis: Das Namensfeld wird dedupliziert, was den Erwartungen entspricht. Der doppelte Feldwert Alibaba wird tatsächlich herausgefiltert.

Im zweiten Fall verwenden Sie das Schlüsselwort Distinct (vorne), um mehrere Datenspalten abzufragen, wie in der folgenden Abbildung gezeigt:

Was bedeutet das Wort „unsichtbar“? title=

Ergebnis: Das Namensfeld wird dedupliziert, aber das Ergebnis entspricht nicht den Erwartungen. Der doppelte Feldwert Alibaba wird nicht herausgefiltert.

Im zweiten Fall verwenden Sie das Schlüsselwort Distinct (after), um mehrere Datenspalten abzufragen, wie in der folgenden Abbildung gezeigt:

Was bedeutet das Wort „unsichtbar“? title=

Ergebnis: Das Namensfeld wird dedupliziert, aber das Ergebnis entspricht nicht den Erwartungen. Es wird eine SQL-Ausnahme mit dem Fehlercode 1064 ausgelöst.

Lösung:

Verwenden Sie keine Unterabfragen, sondern lösen Sie das Problem durch Gruppieren:

瑙e喅鏂瑰紡

Zusammenfassung: Wenn die SQL-Abfrage mit einer Anweisung gelöst werden kann, versuchen Sie, die Komplexität von SQL, insbesondere von Unterabfragen, nicht zu erhöhen! ! !

Oben finden Sie eine Erklärung zur Verwendung des MySQL-Schlüsselworts Distinct. Wenn Sie Fragen haben, hinterlassen Sie bitte eine Nachricht oder diskutieren Sie auf dieser Site. Vielen Dank fürs Lesen und ich hoffe, es kann allen helfen. Vielen Dank für Ihre Unterstützung dieser Site!

Das könnte Sie auch interessieren:
  • So optimieren Sie die MySQL-Indexfunktion basierend auf dem Schlüsselwort „Explain“
  • Detaillierte Erklärung: Die MySQL-Ausführungsplan-ID ist leer (Schlüsselwort UNION).
  • jq.ajax+php+mysql zur Implementierung einer Fuzzy-Schlüsselwortabfrage (Beispielerklärung)
  • MySql-Abfrageanweisung mit mehreren Bedingungen und dem Schlüsselwort „OR“
  • Erläuterung der Ausführungspriorität von mySQL-Schlüsselwörtern

<<:  Zusammenfassung praktischer Methoden für JS-Anfänger zur Verarbeitung von Arrays

>>:  Beispielcode zur Implementierung der bidirektionalen Authentifizierung mit Nginx+SSL

Artikel empfehlen

So importieren, registrieren und verwenden Sie Komponenten in Stapeln in Vue

Vorwort Komponenten sind etwas, das wir sehr häuf...

5 Tipps zum Schutz Ihres MySQL Data Warehouse

Durch die Aggregierung von Daten aus verschiedene...

Analyse der zum Ausführen von Docker erforderlichen Berechtigungen

Zum Ausführen von Docker sind Root-Rechte erforde...

js implementiert das klassische Minesweeper-Spiel

In diesem Artikelbeispiel wird der spezifische Co...

Zusammenfassung der Verwendung von Linux-SFTP-Befehlen

sftp ist die Abkürzung für Secure File Transfer P...

Unvollständige Lösung für die Verwendung von Eingabetyp=Textwert=str

Ich bin heute auf ein sehr seltsames Problem gesto...

So zeigen Sie verfügbare Netzwerkschnittstellen in Linux an

Vorwort Die häufigste Aufgabe nach der Installati...

Tipps zum Escapen von HTML-Texten

Heute habe ich auf CSDN einen kleinen Trick zum Es...

Unterschiede zwischen MySQL MyISAM und InnoDB

Der Unterschied: 1. InnoDB unterstützt Transaktio...