shinoblog-manabu

Progate(プロゲート)を使って初歩の初歩からプログラミング勉強をはじめました。無料から有料バージョンへ以降しつつ、自分辞書として活用しています。なるべく私と同じ初心者目線を使い、各プログラミング内容を説明したいです。

【SQL】データをグループ化しよう【progate】

f:id:shinoblog-manabu:20201211153341j:plain

 

データをグループ化しよう

 

 

 

GROUP BY

GROUP BY カラム名GROUP BY カラム名GROUP BY カラGROUP B

 

データをグループ化できる

 

 

グループ化と集計

集計関数集計関数集計関数集計関数集計関数集計関数集計関数集計関数集計関数集計

 
ポイント

GROUP BY カラム名 

 

このように書く

 

 

 

GROUP BYの注意点

集計関数集計関数集計関数集計関数集計関数集計関数集計関数集計関数集計関数集計

 
SELECTで使える条件は下記のみ
・GROUP BYに指定しているカラム名
・集計関数

 

Ex.

SELECT 集計関数
FROM テーブル名
GROUP BY カラム名;

このように書く

 

演習問題

・SUM関数を間違えないようにすること

・COUNT関数を忘れたら今一度復習すること

 

 

複数のカラムを使ってグループ化しよう

 

・複数のカテゴリーデータを一緒に取得する

 

 

 

 

複数カラムのGROUP BY
の書き方

 

GROUP BY 1カラム名, 2カラム名 ←コンマ、半角を使い、必要に応じてカラム名を追加していく

 

こう書く

 

 

複数カラムのGROUP BY

 

SELECT 集計関数
FROM テーブル名
WHERE 条件
GROUP BY カラム名, カラム名;

 

こう書く

 

 

複数カラムのGROUP BYでできること

 

-point-

・各グループごとに集計することができる

 

 

演習問題

・SUM関数を使ったカラムの合計をだせるようにする

・COUNT関数を使ったグループごとの数と各カラムを取得できるようにする

 

 

 

 

細かい条件でデータをグループ化しよう

目的

・日付ごとなどの細かい集計を目指す

・GROUP UP と WHERE を一緒に使えるようにする

 

 

 

WHEREとGROUP BY

集計順番集計順番集計順番集計順番集計順番集計順番集計順番集計

-point-

実行される順番:WHERE、ROUP BY、関数

        もっと言うと

実行される順番:検索、グループ化、関数

         こう覚える

 

 

 

WHEREとGROUP BYの順番(1)

 

-point-

1.指定のカテゴリーレコードを検索
2.指定①と指定②をグループ化する
3.集計関数を使って集計する

 

 

 

WHEREとGROUP BYの順番(2)

 

-point-

グループ化した結果に関して、③集計関数で集計する

 

 

 

WHERE と GROUP BYの書き方

演習問題

パターン1

・WHEREを使う

・指定カラムの中のデータを指定する

・レコードを集計する

・指定カラムをグループ化する

・各グループカラムデータをそれぞれ合計し、データを出す

 

パターン2

・WHEREを使い、指定カラムのデータであるレコード集計する

・各カラムをグループ化する

・各グループの指定カラムデータの合計をそれぞれ取得する

 

-point-

・GROUP BYを書くときの順序にきをつける

・グループ化したときの書き方(半角空けなど)に注意する