問題
7
SQL
COUNT関数で検索結果の行数を得よう
COUNT関数は、検索結果の行数を数える集計関数です。 列を指定する方法と*(アスタリスク)を使って指定する方法があるのでそれぞれの違いを理解しておきましょう。
SQLの問題に挑戦しよう!
問題
「COUNT関数で検索結果の行数を得よう」
はじめに指定のコードを実行し、一部データを更新してください。
COUNT関数を使って家計簿テーブルの詳細の行数を求めましょう。
*(アスタリスク)で指定した場合の挙動も確認しておきましょう。
あらかじめエディタに書くコード
USE ninjacode;
UPDATE 家計簿 SET 詳細 = NULL WHERE 支出 = 400;
SELECT * FROM 家計簿;
¥SQL¥
期待する画面
解答と解説(COUNT関数で検索結果の行数を得よう)
解説
LINE登録して解答を見る
※ご登録後トークルーム下部にあるメニュー内
「無料問題集※解答付き」を押すと
解答閲覧用URLが届きます
単純に検索結果の行数を得る場合は、COUNT(*)という記述をすればOKです。
しかし、*(アスタリスク)で指定した場合は、NULLの行も含めて結果を返してしまいます。
対してCOUNT(列名)のようにして指定するとNULLが入っている行は無視してカウントしてくれます。
今回は「詳細の行数」という指定があるのでCOUNT(詳細)としましょう。
補足
SUMやAVGなどの各関数では「DISTINCT」を指定することによって
重複している値をのぞいた状態で集計が行なわれます。
重複データを除いて集計したい場合はCOUNT(DISTINCT 詳細)のようにして使用しましょう。