Eindeutige Werte aus mehreren Spalten in MySQL auswählen
Bei der Arbeit mit Datenbanken ist es häufig erforderlich, eindeutige Wertekombinationen aus mehreren Spalten abzurufen. Die Verwendung des Schlüsselworts DISTINCT führt jedoch möglicherweise nicht immer zu den gewünschten Ergebnissen. In diesem Artikel wird ein alternativer Ansatz zur Auswahl unterschiedlicher Werte aus zwei Spalten in einer MySQL-Datenbank untersucht.
Betrachten Sie die folgende Tabelle mit dem Namen „foo_bar“:
foo | bar |
---|---|
a | c |
c | f |
d | a |
c | a |
f | c |
a | c |
d | a |
a | c |
c | a |
f | c |
Abfragen dieser Tabelle mit der folgenden SQL-Anweisung :
<code class="sql">SELECT DISTINCT foo, bar FROM foo_bar;</code>
erzeugt das folgende Ergebnis:
foo | bar |
---|---|
a | c |
c | f |
d | a |
c | a |
f | c |
Während diese Abfrage sicherstellt, dass nur eine Instanz jeder eindeutigen Wertekombination zurückgegeben wird, werden die Redundanzen bei den Werten dadurch nicht beseitigt werden in den beiden Spalten vertauscht. Beispielsweise sind sowohl „a c“ als auch „c a“ unterschiedliche Kombinationen, beziehen sich jedoch auf dieselben Daten.
Um dieses Problem zu beheben, können wir stattdessen die GROUP BY-Klausel verwenden:
<code class="sql">SELECT foo, bar FROM foo_bar GROUP BY foo, bar;</code>
Diese Abfrage gibt das folgende Ergebnis zurück:
foo | bar |
---|---|
a | c |
c | f |
d | a |
Wie Sie sehen können, kombiniert die GROUP BY-Klausel alle doppelten Zeilen in einer einzigen Zeile, wodurch Wiederholungen effektiv vermieden werden und wirklich unterschiedliche Wertekombinationen aus beiden bereitgestellt werden foo- und bar-Spalten.
Das obige ist der detaillierte Inhalt vonWie wähle ich in MySQL eindeutige Wertekombinationen aus mehreren Spalten aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!