問題:
テーブルの行数を確認したい。
例:
私たちのデータベースには、pet
次の列にデータがあります:id
、eID
(電子識別子)、およびname
。
id | eID | 名前 |
---|---|---|
1 | 23456 | スパーキー |
2 | 23457 | mily |
3 | NULL | レッシー |
4 | NULL | カール |
5 | 34545 | マギー |
テーブル内のすべての行を数えましょう。
解決策:
COUNT(*)
テーブル内の行の総数をカウントします:
SELECT COUNT(*) as count_pet FROM pet;
結果は次のとおりです。
count_pet |
---|
5 |
引数としてアスタリスクを渡す代わりに、特定の列の名前を使用できます:
SELECT COUNT(id) as count_pet FROM pet;
この場合、COUNT(id)
id
が含まれる行数をカウントします NULL
ではありません 。
ディスカッション:
COUNT
を使用する テーブルの行数をカウントする集計関数。この関数は、引数として列の名前を取ります(例:id
)そして、テーブル内のこの特定の列の行数(5など)を返します。
上記のように、アスタリスクの代わりに列を指定すると、関数はNULL
以外のみをカウントします。 値。 idはテーブルの主キーであるため、一意でNULL
ではありません。 値-テーブルの行の総数を数えるのに適した候補です。
もちろん、すべての行をカウントするには、代わりにCOUNTの引数としてアスタリスク文字を渡すことができます。これにより、値がNULL
の行を含む、すべての行がカウントされます。 任意の列で。
NULL
を持つ列の行数をカウントする例を次に示します。 値:
SELECT COUNT(eID) as count_pet FROM pet;
count_pet |
---|
3 |
テーブルの行数をカウントするには、主キー列または*文字をCOUNT関数に渡すことをお勧めします。これまで見てきたように、どちらのアプローチでも同じ結果が得られます。