問題:
テーブルの行数を確認したい。
例:
私たちのデータベースには、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関数に渡すことをお勧めします。これまで見てきたように、どちらのアプローチでも同じ結果が得られます。