sql >> データベース >  >> RDS >> PostgreSQL

count(*)SQLステートメントで必要に応じてグループ化しますか?

    このエラーは完全に理にかなっています。 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)を使用する必要があります ! 集計関数に関するドキュメント を参照してください。 このトピックの詳細については。



    1. mysql SELECTで日付形式を変更する最良の方法は?

    2. 一意の制約違反を回避するにはどうすればよいですか?

    3. 指定されたキーが辞書に存在しませんでした。 mysqlを使用

    4. 世論機関のデータモデル