Alla kolumner i SELECT-satsen som inte har ett aggregerat måste finnas i GROUP BY
Bra:
SELECT col1, col2, col3, MAX(col4)
...
GROUP BY col1, col2, col3
Också bra:
SELECT col1, col2, col3, MAX(col4)
...
GROUP BY col1, col2, col3, col5, col6
Inga andra kolumner =ingen GROUP BY behövs
SELECT MAX(col4)
...
Fungerar inte:
SELECT col1, col2, col3, MAX(col4)
...
GROUP BY col1, col2
Meningslöst:
SELECT col1, col2, col3, MAX(col4)
...
GROUP BY col1, col2, col3, MAX(col4)
Att ha en sammanställning (MAX etc) med andra kolumner utan en GROUP BY är meningslöst eftersom frågan blir tvetydig.