今日は、R8 情報システム 第8問について解説します。
第8問
ある小売店では、以下に示す「販売記録」表を用いて販売管理を行っている。

顧客や商品の販売傾向を分析するために、この「販売記録」表からいくつかの表を作成する SQL 文を考えた。
次の SQL 文①と SQL 文②に対する説明文a~fの組み合わせとして、最も適切なものを下記の解答群から選べ。
【SQL文①】
SELECT 顧客ID,SUM(販売金額) AS 合計
FROM 販売記録 GROUP BY 顧客ID ORDER BY 合計 DESC;
【SQL文②】
SELECT 商品ID,COUNT(顧客ID) AS 総数
FROM 販売記録 GROUP BY 商品ID ORDER BY 総数 ASC;
[説明文]
a 顧客 ID、および顧客 ID ごとの販売金額の合計を、合計額の小さい順に表示する。
b 顧客 ID、および顧客 ID ごとの販売金額の合計を、合計額の大きい順に表示する。
c 顧客 ID、および顧客 ID ごとの販売商品数の合計を、合計数の多い順に表示する。
d 商品 ID、および商品 ID ごとに販売したユニーク顧客数(同一顧客 ID の重複を除く)の総数を、総数の多い順に表示する。
e 商品 ID、および商品 ID ごとに販売したユニーク顧客数(同一顧客 ID の重複を除く)の総数を、総数の少ない順に表示する。
f 商品 ID、および商品 ID ごとに販売した延べ顧客数(同一顧客 ID の重複を含む)の総数を、総数の少ない順に表示する。
〔解答群〕
ア SQL 文①:a SQL 文②:d
イ SQL 文①:a SQL 文②:e
ウ SQL 文①:b SQL 文②:e
エ SQL 文①:b SQL 文②:f
オ SQL 文①:c SQL 文②:f
解説
SQLに関する問題です。
まとめシートでは、以下の通り解説しています。

まずSQL文①について。
「SELECT 顧客ID,SUM(販売金額) AS 合計」から抽出する項目は2つ、「顧客ID」と「販売金額の合計」です。
「AS 合計」は、「販売金額の合計」を(合計)という名前で扱うことを指します。
「FROM 販売記録」から、販売記録の表から抽出します。
「GROUP BY 顧客ID」から、「顧客ID」でグループ化します。
「ORDER BY 合計 DESC」から、「販売金額の合計(合計)」で降順に並べます。
まとめると、「販売記録の表から、顧客IDと販売金額の合計を抽出し、顧客IDごとにまとめて合計の降順に並べる」となります。
次にSQL文②について。
「SELECT 商品ID,COUNT(顧客ID) AS 総数」から抽出する項目は2つ、「商品ID」と「顧客IDを数えた数(延べ顧客数)」です。
「AS 総数」は、「延べ顧客数」を(総数)という名前で扱うことを指します。
「FROM 販売記録」から、販売記録の表から抽出します。
「GROUP BY 商品ID」から、「商品ID」でグループ化します。
「ORDER BY 総数 ASC」から、「延べ顧客数(総数)」で昇順に並べます。
まとめると、「販売記録の表から、商品IDと延べ顧客数を抽出し、商品IDごとにまとめて総数の昇順に並べる」となります。
それでは選択肢を見ていきましょう。
→ ❌ 誤りです。
顧客IDが含まれているのでSQL文①と比較します。
抽出する項目は「顧客 ID、および顧客 ID ごとの販売金額の合計」までは正しいですが、並べ方は「合計額の大きい順(降順)」です。
「合計額の小さい順(昇順)」ではありません。
よって、この選択肢は×です。
→ ✅ 正しいです。
顧客IDが含まれているのでSQL文①と比較します。
顧客IDと販売金額の合計を抽出し、顧客IDごとにまとめて合計の降順に並べる、というSQL文①と一致します。
抽出する項目は「顧客 ID、および顧客 ID ごとの販売金額の合計」、並べ方は「合計額の大きい順(降順)」いずれも正しいです。
よって、この選択肢は〇です。
→ ❌ 誤りです。
顧客IDが含まれているのでSQL文①と比較します。
抽出する項目は「顧客 ID、および顧客 ID ごとの販売金額の合計」です。
「顧客 ID ごとの販売商品数の合計」ではありません。
また、並べ方は「合計額の大きい順(降順)」です。
「合計数の多い順」ではありません。
よって、この選択肢は×です。
→ ❌ 誤りです。
商品IDが含まれているのでSQL文②と比較します。
抽出する項目は「商品ID」と「顧客IDを数えた数(延べ顧客数)」です。
「ユニーク顧客数(同一顧客 ID の重複を除く)の総数」ではありません。
また、並べ方は「総数の少ない順(昇順)」です。
「総数の多い順(降順)」ではありません。
よって、この選択肢は×です。
→ ❌ 誤りです。
商品IDが含まれているのでSQL文②と比較します。
抽出する項目は「商品ID」と「顧客IDを数えた数(延べ顧客数)」です。
「ユニーク顧客数(同一顧客 ID の重複を除く)の総数」ではありません。
よって、この選択肢は×です。
→ ✅ 正しいです。
商品IDが含まれているのでSQL文②と比較します。
販売記録の表から、商品IDと延べ顧客数を抽出し、商品IDごとにまとめて総数の昇順に並べる、というSQL文②と一致します。
抽出する項目は「商品 ID、および商品 ID ごとに販売した延べ顧客数の総数」、並べ方は「総数の少ない順」いずれも正しいです。
よって、この選択肢は〇です。
◆ブログ村参加しています◆
気に入っていただけたら、クリックお願いします!
![]()
2026年度版 一発合格まとめシート
好評発売中!

関連教材で学習効率アップ!

