Heim >Datenbank >MySQL-Tutorial >Wie erhält man in MySQL wirklich eindeutige Werte aus mehreren Spalten?
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!