GROUP BY 句または集約関数の呼び出しの中にない列を報告します。

例 (Microsoft SQL Server):

CREATE TABLE t1 (a INT, b INT);
SELECT a, b FROM t1 GROUP BY a;

上記の SELECT クエリを実行するとエラーになります。これは、Microsoft SQL Server が列 b が GROUP BY で使用されるか、集約関数の中で使用されることを予期するためです。 このエラーは、以下 2 つの例のどちらに書き換えても解決できます。

SELECT a, b FROM t1 GROUP BY a, b;
SELECT a, max(b) max_b FROM t1 GROUP BY a;