集計を持たない SELECT 句のすべての列は、GROUP BY 内にある必要があります
良い:
SELECT col1, col2, col3, MAX(col4)
...
GROUP BY col1, col2, col3
また良い:
SELECT col1, col2, col3, MAX(col4)
...
GROUP BY col1, col2, col3, col5, col6
他の列がない =GROUP BY は不要
SELECT MAX(col4)
...
動作しません:
SELECT col1, col2, col3, MAX(col4)
...
GROUP BY col1, col2
無意味:
SELECT col1, col2, col3, MAX(col4)
...
GROUP BY col1, col2, col3, MAX(col4)
GROUP BY を使用せずに他の列と集計 (MAX など) を使用しても、クエリがあいまいになるため意味がありません。