Ist ja auch logisch, wenn alle Felder in der Gruppierung sind bedeutet es ja dass du aus jedem datensatz eine Gruppe machst!
Gruppieren heisst ja Zusammenfassen. Dadurch verlierst Du die Detailsinformationen der Datensätze in den Feldern über die nicht gruppiert wird. Willst Du diese Felder trotzdem haben musst Du angeben, welche Wert bzw. Aggregat Du willst.
Beispiel
Name Geschlecht Alter Größe
Max männlich 20 1,80
Susi weiblich 18 1,50
Bob männlich 35 1,70
Sonja weiblich 30 1,60
SQL-Code:
select
sum(*) as Anzahl,
Geschlecht, //Gruppierung
min(Alter) as Juengste,
max(Alter) as Älteste,
avg( Alter) Durschnittsalter
from
Tabelle
group by
Geschlecht;