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

SQLでgroupbyとcountはどのように機能しますか

    選択すると、関係的に結果セットが得られます。選択範囲をフィールドでグループ化する場合、結果セットの行はそのフィールドでグループ化され、結果セットの各行は結果のグループに固有になります。

    たとえば、次のフィールドを持つAnimalsという名前のテーブルがあります。

    Type | Gender | Name
    

    このクエリを実行している場合(たとえば、MySQLで):

     select Type, Gender, Name from Animals where Type <> 'Pig'
    

    あなたは「ブタ」ではないすべての動物を手に入れるでしょう。行のType='pig'の場合、結果に含まれます。

    このクエリ:

    select Type, Gender, count(*) from Animals group by Type, Gender
    

    これだけ多くの行があります:タイプの数*性別の数

    MySQLのhave句を使用して、グループの条件を作成できます。

    詳細こちら

    count(*)の違い およびcount(browser) 1つ目はすべてのレコードの数を返し、2つ目はnot (browser is null)であるすべてのレコードの数を返すということです。 。

    browser is nullの行を挿入してみてください 次に、1)と2)を実行します。これは、最良のテストです。



    1. 特定の日付より前のレコードを削除する

    2. スプリングブートにおける2つのエンティティ間の多対多の関係

    3. ImportError:connector.conversionという名前のモジュールがありません

    4. OracleDatabaseのPL/SQLパッケージの概要