Semua kolom dalam klausa SELECT yang tidak memiliki agregat harus ada di GROUP BY
Bagus:
SELECT col1, col2, col3, MAX(col4)
...
GROUP BY col1, col2, col3
Juga bagus:
SELECT col1, col2, col3, MAX(col4)
...
GROUP BY col1, col2, col3, col5, col6
Tidak ada kolom lain =tidak diperlukan GROUP BY
SELECT MAX(col4)
...
Tidak akan berfungsi:
SELECT col1, col2, col3, MAX(col4)
...
GROUP BY col1, col2
Tidak ada gunanya:
SELECT col1, col2, col3, MAX(col4)
...
GROUP BY col1, col2, col3, MAX(col4)
Memiliki agregat (MAX dll) dengan kolom lain tanpa GROUP BY tidak masuk akal karena kueri menjadi ambigu.