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

SQLite Count()のしくみ

    SQLite count() 関数を使用して、結果セットの行数を返すことができます。

    また、結果セットで特定の列がNULLでない回数を返すためにも使用できます。

    2つの方法で使用できます。アスタリスクを渡す場合(* )ワイルドカード文字。グループ内の行の総数を返します。列の名前を指定すると、その列がNULLでない回数が返されます。

    構文

    構文は次のようになります:

    count(X)
    count(*)

    したがって、この場合、X 列の名前とアスタリスク(* )ワイルドカードは、グループ内の行の総数を指定するために使用されます。

    例:count(*)

    これは、テーブルの行数を返すアスタリスク(*)構文を示す基本的な例です。

    SELECT count(*) FROM Customer;

    結果:

    59

    このクエリをChinookサンプルデータベースで実行したところ、顧客に59行あることがわかりました。 テーブル。

    例:count(X)

    この例では、テーブルの特定の列の名前を渡します。

    SELECT count(Fax) FROM Customer;

    結果:

    12

    この場合、ファックス 列には12個のNULL以外の値があります。

    つまり、47行のファックスにNULL値が含まれています 列。

    WHERE句の使用

    count()の結果 WHEREの後に計算されます 条項。

    SELECT count(Fax) 
    FROM Customer 
    WHERE CustomerId <= 5;

    結果:

    2

    この場合、ファックスにはNULL以外の値が2つしかありませんでした 結果セット内の列。

    列が返された場合(およびcount()を使用しない場合の結果は次のようになります。 関数)。

    SELECT CustomerId, Fax 
    FROM Customer 
    WHERE CustomerId <= 5;

    結果:

    CustomerId  Fax               
    ----------  ------------------
    1           +55 (12) 3923-5566
    2                             
    3                             
    4                             
    5           +420 2 4172 5555  

    したがって、 Faxの行1と5のみがNULL以外の値を持っていることがわかります。 列。

    LIMIT句の使用

    LIMITの後で結果は計算されません 条項。

    SELECT count(Fax) 
    FROM Customer 
    LIMIT 5;

    結果:

    12

    ただし、代わりに次のようなことを行うことができます:

    SELECT count(Fax) 
    FROM (SELECT Fax FROM Customer 
    LIMIT 5);

    結果:

    2

    グループ化された結果

    count()の便利なユースケースの1つ GROUP BYと組み合わせて使用​​することです 句を使用すると、複数の行が返され、それぞれがグループを表し、そのグループ内の行の数が返されます。

    これが例です。

    SELECT 
      ar.Name, 
      count(al.Title)
    FROM Album al
    INNER JOIN Artist ar
    ON ar.ArtistId = al.ArtistId
    WHERE ar.Name LIKE 'D%'
    GROUP BY ar.Name
    LIMIT 10;

    結果:

    Name             count(al.Title)
    ---------------  ---------------
    David Coverdale  1              
    Deep Purple      11             
    Def Leppard      1              
    Dennis Chambers  1              
    Djavan           2              
    Dread Zeppelin   1              

    DISTINCTキーワード

    DISTINCTを追加できます 個別の値のみをカウントするキーワード。つまり、計算で重複する値を削除できます。

    この例については、SQLite Count()の結果から重複を削除する方法を参照してください。


    1. dplyrを使用してローカルデータを読み取り専用データベースに取り込むにはどうすればよいですか?

    2. Flask、Connexion、SQLAlchemyを使用したPython REST API –パート2

    3. PHPでMySQLAPIを混在させることはできますか?

    4. ORA-28000:アカウントがロックされていますエラーが頻繁に発生します