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

SQLite COUNT

    概要 :このチュートリアルでは、SQLite COUNTの使用方法を学習します グループ内のアイテムの数を取得する関数。

    SQLiteの概要COUNT() 機能

    関数COUNT() グループ内のアイテムの数を返す集計関数です。

    たとえば、COUNT()を使用できます tracksからトラック数を取得する関数 表、artistsのアーティスト数 テーブルなど。

    次に、COUNTの基本的な構文を示します。 機能:

    COUNT([ALL | DISTINCT] expression);Code language: SQL (Structured Query Language) (sql)

    引数

    COUNT 関数は、渡した引数とオプションALLに従って動作します。 またはDISTINCT 指定します。

    以下にALLの意味を説明します およびDISTINCT オプション:

    • ALL :すべてを指定すると、COUNT() 関数は、重複を含むすべてのnull以外の値をカウントします。 COUNT() 関数はALLを使用します スキップした場合のデフォルトのオプション。
    • DISTINCTDISTINCTを明示的に使用する場合 オプション、COUNT 関数は、一意のnull以外の値のみをカウントします。

    式は、列または関数COUNT()が含まれる列を含む式にすることができます。 適用されます。

    SQLiteは、COUNT()の別の構文を提供します 機能:

    COUNT(*)Code language: SQL (Structured Query Language) (sql)

    COUNT(*) 関数は、NULLと重複を含む行を含む、テーブル内の行数を返します。

    SQLite COUNT() 関数の図

    まず、t1というテーブルを作成します 1つの列があります:

    CREATE TABLE t1(c INTEGER);Code language: SQL (Structured Query Language) (sql)

    次に、5行をt1に挿入します テーブル:

    INSERT INTO t1(c)
    VALUES(1),(2),(3),(null),(3);Code language: SQL (Structured Query Language) (sql)

    第三に、t1からデータをクエリします テーブル:

    SELECT * FROM t1;Code language: SQL (Structured Query Language) (sql)

    第4に、COUNT(*)を使用します t1の行数を返す関数 テーブル:

    SELECT COUNT(*) FROM t1;Code language: SQL (Structured Query Language) (sql)

    出力から明らかなように、結果セットにはNULLと重複行が含まれています。

    5番目に、COUNT(expression)を使用します c列のnull以外の値の数を取得します :

    SELECT COUNT(c) FROM t1;Code language: SQL (Structured Query Language) (sql)

    この例では、COUNT(c) null以外の値の数を返します。重複する行を個別の行としてカウントします。

    6番目に、COUNT(DISTINCT expression)を使用します 列cの一意の非null値の数を取得します :

    SELECT COUNT(DISTINCT c) FROM t1;Code language: SQL (Structured Query Language) (sql)

    SQLite COUNT(*)

    テーブルtracksを取得します COUNT(*)の機能を示すためのサンプルデータベース 機能。

    1)SQLite COUNT(*)

    tracksから行数を取得するには テーブルでは、COUNT(*)を使用します 次のように機能します:

    SELECT count(*)
    FROM tracks;Code language: SQL (Structured Query Language) (sql)

    試してみてください

    count(*)
    --------
    3503Code language: plaintext (plaintext)

    2)SQLite COUNT(*) WHEREを使用 条項の例

    次のステートメントは、COUNT(*)を使用しています WHEREで機能する アルバムIDが10のトラックの数を検索する句:

    SELECT COUNT(*)
    FROM tracks
    WHERE albumid = 10;Code language: SQL (Structured Query Language) (sql)

    試してみてください

    COUNT(*)
    --------
    14

    3)SQLite COUNT(*) GROUP BYを使用 条項の例

    すべてのアルバムと各アルバムのトラック数を取得するには、COUNT(*)を組み合わせます。 GROUP BYで機能する 条項:

    SELECT
    	albumid,
    	COUNT(*)
    FROM
    	tracks
    GROUP BY
    	albumid;Code language: SQL (Structured Query Language) (sql)

    試してみてください

    AlbumId  COUNT(*)
    -------  --------
    1        10
    2        1
    3        3
    4        8
    5        15
    6        13
    7        12
    8        14
    9        8
    10       14
    ...

    この例では:

    • まず、GROUP BY 条項グループはアルバムIDで追跡します。
    • 次に、COUNT(*) 関数は、各アルバムまたはトラックのグループのトラック数を返します。

    4)SQLite COUNT(*) HAVING 条項の例

    以下はCOUNT(*)を使用しています HAVINGで 25トラックを超えるアルバムを検索する句:

    SELECT
       albumid,
       COUNT(*)
    FROM
       tracks
    GROUP BY
       albumid
    HAVING COUNT(*) > 25Code language: SQL (Structured Query Language) (sql)

    試してみてください

    AlbumId  COUNT(*)
    -------  --------
    23       34
    73       30
    141      57
    229      26

    5)SQLite COUNT(*) INNER JOINを使用 条項の例

    上記のクエリの出力をより便利にするために、アルバムの名前の列を含めることができます。これを行うには、INNER JOINを追加します およびORDER BY 次のクエリのようなクエリの句:

    SELECT
    	tracks.albumid, 
    	title, 
    	COUNT(*)
    FROM
    	tracks
    INNER JOIN albums ON
    	albums.albumid = tracks.albumid
    GROUP BY
    	tracks.albumid
    HAVING
    	COUNT(*) > 25
    ORDER BY
    	COUNT(*) DESC;Code language: SQL (Structured Query Language) (sql)

    試してみてください

    AlbumId  Title           COUNT(*)
    -------  --------------  --------
    141      Greatest Hits   57
    23       Minha Historia  34
    73       Unplugged       30
    229      Lost, Season 3  26

    SQLite COUNT(DISTINCT expression)

    employeesを見てみましょう サンプルデータベースのテーブル。

    SELECT
    	employeeid,
    	lastname,
    	firstname,
    	title
    FROM
    	employees;Code language: SQL (Structured Query Language) (sql)

    試してみてください

    EmployeeId  LastName  FirstName  Title
    ----------  --------  ---------  -------------------
    1           Adams     Andrew     General Manager
    2           Edwards   Nancy      Sales Manager
    3           Peacock   Jane       Sales Support Agent
    4           Park      Margaret   Sales Support Agent
    5           Johnson   Steve      Sales Support Agent
    6           Mitchell  Michael    IT Manager
    7           King      Robert     IT Staff
    8           Callahan  Laura      IT Staff

    役職のタイトル数を取得するには、titleを渡します COUNT()への列 次のように機能します:

    SELECT COUNT(title)
    FROM employees;Code language: SQL (Structured Query Language) (sql)

    試してみてください

    COUNT(title)
    ------------
    8

    ただし、一意のタイトルの数を取得するには、DISTINCTを追加する必要があります COUNT()のオプション 次のステートメントに示すように機能します:

    SELECT COUNT(DISTINCT title)
    FROM employees;Code language: SQL (Structured Query Language) (sql)

    試してみてください

    COUNT(DISTINCT title)
    ---------------------
    5

    このチュートリアルでは、SQLite COUNT()の使用方法を説明しました。 グループ内のアイテムの数をカウントする関数。


    1. Kubernetes AWSでのJenkinsの使用、パート1

    2. SQL置換関数内の正規表現パターン?

    3. ユーザーごとに最新の日付の行を選択します

    4. R12のORA-2000111g(FND_HISTOGRAM_COLS)のスキーマ統計を収集します