SQLの集計結果
図の「売上」表に対して、次のSQLを実行した。結果として得られる店舗はどれか。
SELECT 店舗, SUM(金額) FROM 売上
GROUP BY 店舗
HAVING SUM(金額) >= 300

- A
渋谷(250)、池袋(400)
- B
渋谷(350)、池袋(400)
- C
池袋(400)
- D
渋谷(350)、新宿(270)、池袋(400)
正解と解説を見る
正解:B
GROUP BYで店舗ごとに合計し、HAVINGで合計に条件を付ける。WHEREは集計前の行に、HAVINGは集計後のグループに適用する。

- A
誤り。渋谷の商品Bの金額だけを見たもの。GROUP BYで合計される。
- B
正しい。店舗ごとの合計は、渋谷350、新宿270、池袋400。300以上は渋谷と池袋。
- C
誤り。400以上の店舗だけを選んだもの。渋谷の350も300以上。
- D
誤り。HAVINGの条件を考慮していない、すべての店舗。
このサイトの問題は、公開されている出題範囲に沿って作ったオリジナルの模擬問題です。本試験の問題ではありません。独立行政法人情報処理推進機構(IPA)の公式サービスではありません。