スポンサーリンク

【応用情報技術者試験】GROUP BYを5分で理解!

「GROUP BYって何?」
応用情報技術者試験のSQL分野で超頻出ですが、

  • 集計?
  • SUMとの違い?
  • HAVINGって何?

で混乱する人がかなり多いテーマです。

この記事では、

  • GROUP BYとは?
  • 集約関数との関係
  • HAVING
  • 試験での頻出ポイント

を5分で理解できるように解説します!


まず結論

GROUP BYとは?

「同じ値ごとにグループ化する機能」

です!


超簡単にいうと

例えば:

名前部署売上
田中営業100
鈴木営業200
佐藤開発150

「部署ごとの売上合計」

を出したい!


そこでGROUP BY

同じ部署でまとめる!


本棚で理解しよう

かなり分かりやすい👇


整理前

本がバラバラ。


GROUP BY後

  • 営業グループ
  • 開発グループ

に分類!


基本構文

SELECT 部署, SUM(売上)
FROM 売上表
GROUP BY 部署;


流れ

① 部署ごとに分類

② 各グループでSUM実行


結果

部署合計
営業300
開発150

集約関数

超頻出!


代表例

関数内容
SUM合計
AVG平均
COUNT件数
MAX最大
MIN最小

COUNT(*)

行数カウント


SELECT COUNT(*)
FROM 学生;


GROUP BYなしとの違い


GROUP BYなし

SELECT SUM(売上)
FROM 売上表;

全体合計。


GROUP BYあり

GROUP BY 部署

部署別集計。


WHEREとの違い

ここ超重要!


WHERE

グループ化前に絞る


HAVING

グループ化後に絞る


SELECT 部署, SUM(売上)
FROM 売上表
GROUP BY 部署
HAVING SUM(売上) >= 200;


意味

合計200以上の部署だけ表示


実行順序

応用情報で超頻出!


基本順序

FROM

WHERE

GROUP BY

HAVING

SELECT

ORDER BY


ORDER BYとは?

並び替え


GROUP BYの注意

超頻出!


SELECTに書けるもの

GROUP BY使用時は:

  • GROUP BY列
  • 集約関数

のみ基本OK。


NG例

SELECT 名前, SUM(売上)
FROM 売上表
GROUP BY 部署;


なぜNG?

名前が1つに決まらないから。


応用情報で超頻出

かなり狙われる👇

  • GROUP BY
  • SUM
  • COUNT
  • HAVING
  • 実行順序

よくあるひっかけ

「HAVINGは行を絞る」

→ 違う!

HAVINGは:

グループを絞る


1分で復習!

GROUP BY

同じ値で分類


集約関数

  • SUM
  • AVG
  • COUNT

WHERE

グループ化前条件


HAVING

グループ化後条件


練習問題

問題

GROUP BYの役割として最も適切なものはどれか。

行を削除する

同じ値ごとにデータを分類する

表を結合する

索引を作成する


解答

正解:イ

解説

GROUP BYは、指定した列の同じ値ごとにデータをグループ化するために使用します。


まとめ

GROUP BYとは

「同じ値でグループ化」


超重要

  • SUM
  • COUNT
  • HAVING
  • 実行順序

まずは、

「GROUP BY=分類」

「集約関数=グループごと計算」

このイメージを持つとかなり理解しやすくなります!

知識に自信ができた方は、今度は自身のキャリアアップに向けて準備してみませんか?

未経験から、ITエンジニアへ。
「IT業界に興味はあるけれど、自分にできるか不安」「何から始めればいいのか分からない」そんな方のために、Tech GO は未経験からのIT転職を専門的にサポートします。求人を紹介するだけではなく、あなたの強みを整理し、応募準備から入社後の成…

まずは無料でキャリア相談

コメント