ログイン
問題7

COUNT関数で検索結果の行数を得よう

COUNT関数は、検索結果の行数を数える集計関数です。 列を指定する方法と*(アスタリスク)を使って指定する方法があるのでそれぞれの違いを理解しておきましょう。

アイコン画像

問題7:COUNT関数で検索結果の行数を得よう

はじめに指定のコードを実行し、一部データを更新してください。

COUNT関数を使って家計簿テーブルの詳細の行数を求めましょう。
*(アスタリスク)で指定した場合の挙動も確認しておきましょう。

エディターのアイコンあらかじめエディタに書くコード

                USE ninjacode;
UPDATE 家計簿 SET 詳細 = NULL WHERE 支出 = 400;
SELECT * FROM 家計簿;
¥SQL¥
              

ブラウザのアイコン期待する画面

解答の見本画像

タグアイコン解答ソースコード

              USE ninjacode;
SELECT COUNT(詳細) FROM 家計簿;
¥SQL¥
            

コメントのアイコン解説

単純に検索結果の行数を得る場合は、COUNT(*)という記述をすればOKです。
しかし、*(アスタリスク)で指定した場合は、NULLの行も含めて結果を返してしまいます。
対してCOUNT(列名)のようにして指定するとNULLが入っている行は無視してカウントしてくれます。

今回は「詳細の行数」という指定があるのでCOUNT(詳細)としましょう。
ログインして解答を見る

コメントのアイコン補足

SUMやAVGなどの各関数では「DISTINCT」を指定することによって
重複している値をのぞいた状態で集計が行なわれます。

重複データを除いて集計したい場合はCOUNT(DISTINCT 詳細)のようにして使用しましょう。
SQLを学ぶなら現役エンジニア監修「甲賀コース」
キャンペーン

閉じる