このエラーは完全に理にかなっています。 COUNT
「集計」関数です。したがって、どのフィールドで集計するかを指定する必要があります。これは、GROUP BY
で実行されます。 条項。
あなたの場合におそらく最も理にかなっているのは次のとおりです:
SELECT column_a, COUNT(*) FROM my_schema.my_table GROUP BY column_a;
のみの場合 COUNT(*)
を使用します 句では、別の条件で集計するのではなく、行の完全な数を返すように求めています。 GROUP BY
かどうかの質問 その場合、は暗黙的であり、次のように答えることができます。「sortof」:何も指定しない場合は、「group by none」と尋ねるようなものです。これは、テーブル全体である1つの巨大な集計を取得することを意味します。
例として、実行:
SELECT COUNT(*) FROM table;
そのテーブルの行数が表示されますが、
SELECT col_a, COUNT(*) FROM table GROUP BY col_a;
あたりの行数が表示されます col_a
の値 。次のようなもの:
col_a | COUNT(*)
---------+----------------
value1 | 100
value2 | 10
value3 | 123
*
も考慮に入れる必要があります すべてを数えることを意味します 。 NULL
を含む s!特定の条件をカウントする場合は、COUNT(expression)
を使用する必要があります ! 集計関数に関するドキュメント
を参照してください。 このトピックの詳細については。