概要 :このチュートリアルでは、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を使用します スキップした場合のデフォルトのオプション。-
DISTINCT:DISTINCTを明示的に使用する場合 オプション、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()の使用方法を説明しました。 グループ内のアイテムの数をカウントする関数。