Frank (no reg): GROUP BY mit String-Vergleich

Beitrag lesen

Hi Volker,

Nun will ich darüber eine Abfrage laufen lassen, die mir das gleiche liefert wie
SELECT * FROM tabelle GROUP BY 'den ersten sechs Buchstaben von datei'

Wenn du alles Anzeigen willst, was willst du dann GROUPieren? Das ist technisch sinnfrei zusammen mit der Verwendung von * (bei * sowieso).

Es würde quasi erst Sinn, wenn du weitere Aggregatsfunktionen wie Count() verwendest, à la

SELECT LEFT(datei, 6) AS feldA, COUNT(*)
  FROM tabelle
  GROUP BY LEFT(datei, 6)

denn da willst du ja gruppiert zählen, wie oft welche eindeutige Zusammensetzung von 6 Zeichen in der Tabelle vorkommt.

Dass MySql solche eine Abfrage mit * und GROUP BY unterstützt/erlaubt, ist ein Fehlverhalten. Versuche dich bitte davon zu lösen. Was du "abfragen" möchtest, kann man 100pro auch auf andere Varianten lösen.

Ciao, Frank