SQL問題 伊藤さんは何人いるか

問題:nyumon2_ customer2で「伊藤さん」は何人いるか。数え方を自分で決めて「〇〇という定義で集計したら何人」を解答が変わるように3パターン作る。

利用テーブルはnyumon2_customer2 。 使い方はSQL学習用サンプルデータを参照。

3人いるので答えが3人・2人・1人になるSQLをそれぞれ書く。2人しか出てこない場合は選択して反転させたりテキストやExcelなどにコピーしてみよう。

解答:3人の結果を得るためには 「name like '伊藤%’」や「trim(name)=’伊藤’」が必要。これは1つのレコードが「伊藤 」と後ろに半角スペースが入っているためname=’伊藤’ではこのレコードが取れないため。

解説:何人いるかを数える際、特に他の人からの依頼の場合はどのように数えるかの定義をきちんと決めることは大事で、後になって違いが判ると二度手間になる。

例えば問題で使っているテーブルだけでも
・適切とできる年齢の範囲はどうするか
・その他のカラムで範囲外や不明な会員はどう扱うか
・削除済みの会員は除外するかしないか
・非アクティブな会員を含めるか(アクティブの定義も含めて)
のような観点があり、それは利用者が何を知りたいかによって決まるもので唯一の正解は存在しない。

SQL問題一覧はこちら

SQL問題

Posted by shinu