データベース|平成25年度 春期 ITパスポート試験(特別措置試験) 問61
関係データベースの“売上”表と“顧客”表を顧客コードで結合し,顧客コードでグループ化して顧客ごとの売上金額の合計を求め,売上金額の合計を降順に整列した。得られた結果の先頭レコードの顧客名はどれか。
売上
| 伝票番号 | 顧客コード | 売上金額(万円) |
|---|---|---|
| H001 | K01 | 40 |
| H002 | K02 | 80 |
| H003 | K03 | 120 |
| H004 | K04 | 70 |
| H005 | K01 | 20 |
| H006 | K02 | 50 |
顧客
| 顧客コード | 顧客名 |
|---|---|
| K01 | 井上花子 |
| K02 | 佐藤太郎 |
| K03 | 鈴木三郎 |
| K04 | 田中梅子 |
- 井上花子
- ✓ これが正解佐藤太郎
- 鈴木三郎
- 田中梅子
解説
グループ化と書いてあれば、必ず足してから比べていきます。
設問は、顧客のコードでまとめてから合計を出せと言っています。だから一行ずつではなく、同じ客の行を足し合わせて比べます。最初の客は四十と二十を持っているので、合わせて六十です。二番目の客は八十と五十を持っており、合わせて百三十になります。三番目の客は百二十が一行だけ、四番目の客は七十が一行だけです。大きい順に並べると、百三十、百二十、七十、六十となります。だから先頭に来るのは、二番目の客でした。引っかけは、一行あたりの最大が百二十であることでした。その行を持つ客を選ぶのは、足す前の見方です。二度買っている客が、合計すると逆転してしまうのです。六十になる客は、二行を足しても最も小さい額です。七十の客も、一行だけで下から二番目にとどまります。まとめよという語が在れば、足してから並べ替えます。
ほかの選択肢はなぜ違うのか
- 六十の合計になる客の名を挙げています。この客は四十と二十の二行を持っています。二度買ってはいますが、額が小さいままです。足し合わせても、四人の中で最も低くなります。最小を問われたなら、この客が答えです。先頭には来ません。
- 百二十の一行を持つ客の名を挙げています。一行だけを見れば、確かにこれが最大でした。ところが設問はまとめてから合計せよと言います。二度買った客が、足すと百三十で追い越します。一行の最大を問われたなら、この客です。足す前で止まっています。
- 七十の一行を持つ客の名を挙げています。この客の行は一つしかありません。合計しても七十のままで、動きません。四人の中では下から二番目にあたります。三番目に大きい額を問われたなら、この客です。順位が離れています。
この問題に関係する言葉
- グループ化
出典:平成25年度 春期 ITパスポート試験(特別措置試験) 問61
同じ単元をまとめて解くならデータベースへ。
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)