【SQL】GROUP BYをするときに気をつけなければいけない事
今週はGROUP BYで少しエラーが出てしまいました。
エラーが出た時の状況と解決した時の状況を説明します。
まず最初に外部結合
まず最初に主キーを元に外部結合をしました。
テーブル名 変数 LEFT OUTER JOIN テーブル名 変数
外部結合はnullでも表示される
外部結合はカラムにnullがあっても表示させることができます。
内部結合はnullを表示できない
INNER JOINはnullがあった場合表示することができません。
GROUP BY
外部結合をした後に同じ項目をまとめようとGROUP BYしました。
GROUP BY カラム名, カラム名
みたいな感じで。
実行すると
エラーーーーーーーーーーーーー
が出てしまいました。なぜか….
エラーの原因
GROUP BYを利用する時はSELECT句で選択したカラムを全て集約関数を利用しなければいけません。
集約関数の種類
・avg() 平均
・sum() 合計
・max() 最大
・min() 最小
・count() 個数
SELECT句の表示方法
SELECT avg(点数カラム), sum(点数カラム), max(点数カラム) FROM テーブル名 変数1 LEFT OUTER JOIN テーブル名 変数2 ON 変数1.共通のカラム = 変数2.共通のカラム SELECT 条件
みたいな感じです
さぁ、実行!
集約関数の注意点
集約関数を使い実行できる!と思いましたがエラーが出てしまいました、、、
集約関数を使うときも型を意識
もしデータベース上に登録されているデータが文字列の場合、数字型に変更して集約関数を利用しなければいけません。
関数を利用する時は常に型を意識しましょう!
Yusuke
最新記事 by Yusuke (全て見る)
- 【準備は何が必要?】フリーランスクリエイターとは? - 2022年4月24日
- 【ファクタリング】フリーランスの為の先払いサービスとは? - 2022年4月23日
- 【初心者必見】フリーランスになる前に読んでおくべき本を紹介! - 2022年4月22日