Ilja: MYSQL select DISTINCT über mehrere Spalten

Beitrag lesen

yo,

Nein. Sortieren tut ORDER BY. GROUP BY gruppiert, fasst nach flexiblen Gesichtspunkten doppelte Zeilen zusammen.

group by fasst auch datensätze zusammen, die nicht identisch sind, sondern bezieht sich nur auf die angegeben spalten, die als eine gruppe aufgefasst werden. insofern würde ich nicht von doppelten zeilen sprechen, obwohl sicherlich das richtige damit gemeint ist.

Das funktioniert aber nur solange, wie du wirklich nur Monat und Jahr selektierst. Wenn du noch eine weitere Spalte selektierst, die beispielsweise eine Beschreibung enthält, und bei gleichem Monat und Jahr je einen unterschiedlichen Eintrag enthält, wird DISTINCT keine Dopplung erkennen (die Beschreibung ist unterschiedlich). Da würde dann GROUP BY weiterhelfen können...

letztlich kann group by nicht viel mehr als das distinct. will man die spalte beschreibung mit reinnehmen, würden genausoviele datensätze rauskommen, wie mit distinct. der vorteil von group by liegt wohl darin, dass man zusätzlich noch aggregat funktionen mit angeben kann, die sich nur auf die gebildeten gruppen beziehen.

Ilja