経営情報システム R05年度 第9問

第9問

以下に示す、ある小売店における販売データ「取引記録」から併売分析を行いた い。異なる2 つの商品の組み合わせに対して、それらが同時に取引された件数を求 める「集計結果」を得るためのSQL 文を考える。 取引記録 集計結果 管理番号 取引ID 商品ID 数量 商品1 商品2 件数 1 T001 P002 1 P003 P004 10 2 T001 P010 1 P004 P010 9 3 T002 P002 3 P001 P008 7 4 T002 P007 2 P004 P007 7 5 T003 P005 1 P001 P010 6 6 T003 P010 1 P002 P004 6 7 T003 P007 2 P005 P008 6 … … … … … … …  以下のSQL 文の空欄①~③に入る記述の組み合わせとして、最も適切なものを 下記の解答群から選べ。 【SQL 文】 SELECT   A. 商品ID as 商品1, B. 商品ID as 商品2,COUNT(*) as 件数 FROM   取引記録 as A, 取引記録 as B WHERE    ①  and  ② GROUP BY   A. 商品ID, B. 商品ID ORDER BY   件数  ③ ;

  1. ①:A. 取引ID = B. 取引ID ②:A. 商品ID < B. 商品ID ③:DESC
  2. ①:A. 取引ID = B. 取引ID ②:A. 商品ID < B. 商品ID ③:ASC
  3. ①:A. 取引ID = B. 取引ID ②:A. 商品ID <> B. 商品ID ③:ASC
  4. ①:A. 取引ID < B. 取引ID ②:A. 商品ID = B. 商品ID ③:DESC
  5. ①:A. 取引ID < B. 取引ID ②:A. 商品ID <> B. 商品ID ③:ASC
▼ 解答・解説を見る

正解:

解答:ア

同一取引内で異なる2商品の組み合わせ件数を求める自己結合のSQL。各空欄を検討する。

  • ①=A.取引ID = B.取引ID:同じ取引の中で買われた商品同士を組み合わせるため、取引IDが一致する行同士を結合する(=で結合)。
  • ②=A.商品ID < B.商品ID:同一商品同士の組(A=B)を除き、かつ(X,Y)と(Y,Z)の重複・順序違いを排除するため「<」で一方向のみを残す。「<>」では順序違いの重複が二重計上され、件数表が示す一意な組み合わせにならない。
  • ③=DESC:集計結果は件数の多い順(降順)に並んでおり、ORDER BY 件数 DESC が適切。

組み合わせは①=、②<、③DESCであり、よって

#データベース

← 経営情報システムの一覧へ戻る