Alle Spalten in der SELECT-Klausel, die kein Aggregat haben, müssen in GROUP BY
enthalten seinGut:
SELECT col1, col2, col3, MAX(col4)
...
GROUP BY col1, col2, col3
Auch gut:
SELECT col1, col2, col3, MAX(col4)
...
GROUP BY col1, col2, col3, col5, col6
Keine anderen Spalten =kein GROUP BY erforderlich
SELECT MAX(col4)
...
Funktioniert nicht:
SELECT col1, col2, col3, MAX(col4)
...
GROUP BY col1, col2
Sinnlos:
SELECT col1, col2, col3, MAX(col4)
...
GROUP BY col1, col2, col3, MAX(col4)
Ein Aggregat (MAX usw.) mit anderen Spalten ohne GROUP BY zu haben, macht keinen Sinn, da die Abfrage mehrdeutig wird.