Heim >Datenbank >MySQL-Tutorial >Wie erhält man in MySQL wirklich eindeutige Werte aus mehreren Spalten?

Wie erhält man in MySQL wirklich eindeutige Werte aus mehreren Spalten?

Linda Hamilton
Linda HamiltonOriginal
2024-10-29 11:05:02489Durchsuche

How to Get Truly Distinct Values from Multiple Columns in MySQL?

So wählen Sie eindeutige Werte aus mehreren Spalten in MySQL aus

Bei der Arbeit mit Datenbanken ist es häufig erforderlich, eindeutige oder unterschiedliche Werte aus mehreren Spalten abzurufen Spalten. Die Verwendung der einfachen SELECT DISTINCT-Klausel führt jedoch möglicherweise nicht immer zu den gewünschten Ergebnissen.

Das Problem

Stellen Sie sich das folgende Szenario vor:

Table: foo_bar

foo | bar
--- | ---
a   | c
c   | f
d   | a
c   | a
f   | c
a   | c
d   | a
a   | c
c   | a
f   | c

Das Ausführen der Abfrage SELECT DISTINCT foo, bar FROM foo_bar würde die folgenden Ergebnisse zurückgeben:

foo | bar
--- | ---
a   | c
c   | f
d   | a
c   | a
f   | c

Beachten Sie, dass die Werte für jede Spalte zwar unterschiedlich sind, die Paare selbst jedoch nicht. Zum Beispiel erscheint das Paar a und c zweimal, nur in einer anderen Reihenfolge.

Die Lösung: Verwenden von GROUP BY

Um wirklich unterschiedliche Wertepaare zu erhalten, müssen Sie kann die GROUP BY-Klausel verwenden:

SELECT foo, bar FROM foo_bar GROUP BY foo, bar

Die GROUP BY-Klausel weist die Datenbank an, die Ergebnisse basierend auf den angegebenen Spalten zu gruppieren. In diesem Fall werden die Zeilen sowohl nach foo- als auch nach bar-Spalten gruppiert.

Daher gibt die Abfrage nur eindeutige Wertepaare zurück:

foo | bar
--- | ---
a   | c
c   | f
d   | a

Dieser Ansatz stellt sicher, dass Sie Rufen Sie nur eindeutige Wertekombinationen aus den mehreren angegebenen Spalten ab.

Das obige ist der detaillierte Inhalt vonWie erhält man in MySQL wirklich eindeutige Werte aus mehreren Spalten?. 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