Hallo,
Das war eigentlich nicht meine Frage. Ich habe in meiner Spaltenliste ja gar keine Aggregatsfunktion und brauche auch keine.
inzwischen :-) Du benötigst inzwischen auch (im äußeren SELECT) kein GROUP BY.
Meine Frage war jetzt, ob es aber möglich ist,
GROUP BY_ohne_ Aggregatsfunktion in der Projektion zu nutzen.
ja. Gruppiere nach allen Spalten, die in der Spaltenliste vorkommen :-)
Um bei dem bisherigen Beispiel zu bleiben:
SELECT id,wert
FROM test
GROUP BY wert
  
> Wie ist das Verhalten dieser Abfrage definiert?  
  
Standard: Fehler  
MySQL: gib in jeder Gruppe mit gleichen wert-Werten eine beliebige id aus der Gruppe aus - wie ich bereits schrieb.  
  
ohne Aggregatsfunktion in korrektem SQL:  
  
~~~sql
SELECT  
    id,  
    wert  
FROM  
    test  
GROUP BY  
    wert,  
    id  
Ich konnte nur mit
HAVINGnoch nicht sehr viel anfangen. Für mich war HAVING quasi dieWHERE-Klausel für alle Datensätze, die den gleichen Wert aufwiesen.
HAVING ist nicht die "WHERE-Klausel" innerhalb einer Gruppe, sondern die Einschränkung für die Datensätze *nach* dem Gruppieren, d.h. also welche Gruppen in die Ergebnismenge sollen.
Freundliche Grüße
Vinzenz
 nicht angemeldet
 nicht angemeldet