Auswählen unterschiedlicher Werte aus zwei Spalten in MySQL: Überwindung doppelter Einträge
Bei der MySQL-Datenbankverwaltung kann die Unterscheidung doppelter Werte über mehrere Spalten hinweg ein Problem darstellen Herausforderung. Stellen Sie sich das folgende Szenario vor:
Frage:
Eine Datenbanktabelle mit dem Namen „foo“ enthält zwei Spalten, „foo“ und „bar“, mit den folgenden Daten:
foo | bar |
---|---|
a | c |
c | f |
d | a |
c | a |
f | c |
a | c |
d | a |
a | c |
c | a |
f | c |
Beim Ausführen der Abfrage „SELECT DISTINCT foo, bar FROM foo“ werden die folgenden Ergebnisse erhalten:
foo | bar |
---|---|
a | c |
c | f |
d | a |
c | a |
f | c |
Diese Ergebnisse enthalten jedoch wiederholte Paarungen von „foo“ und „ bar“-Werte wie „a“ und „c“, die in unterschiedlicher Reihenfolge erscheinen. Das Ziel besteht darin, nur unterschiedliche Werte aus beiden Spalten auszuwählen und so diese Duplikate zu eliminieren.
Antwort:
Um dieses Problem zu beheben, stellt MySQL die Klausel „GROUP BY“ bereit. Dadurch werden Zeilen basierend auf angegebenen Spalten gruppiert und für jede Gruppe nur eine eindeutige Zeile ausgewählt. Durch die Verwendung dieser Klausel können wir die Abfrage wie folgt ändern:
SELECT foo, bar FROM foo GROUP BY foo, bar;
Diese geänderte Abfrage erzeugt die folgenden Ergebnisse:
foo | bar |
---|---|
a | c |
c | f |
d | a |
Durch Gruppieren von Zeilen sowohl nach „foo“ als auch „ bar‘ stellt die Abfrage sicher, dass jede eindeutige Kombination von Werten nur einmal in den Ergebnissen dargestellt wird, unabhängig von der Reihenfolge, in der sie erscheinen.
Das obige ist der detaillierte Inhalt vonWie wähle ich unterschiedliche Werte aus zwei Spalten in MySQL aus und eliminiere doppelte Einträge?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!