SQL の 基本 AVG / MAX / MIN / SUM / COUNT で計算も。
SQL の 基本 系の処理として、Excelの様な計算も可能です。平均 AVG , 最大 MAX , 最小 MIN , 合計 SUM などもSQLの指示で抽出可能です。その他にも何気に便利な、行数(レコード数)を抽出する カウント COUNT です。ぜひマスターしましょう。
AVG (平均)
SELECT SUM(カラム1) FROM テーブルA;
意味:Aというテーブルの、1というカラム(列)の、平均値を抽出する。
カラム1が数値である必要ありますが、数値の平均を取得したい場合に使います。
例えば、クラスのテストの点数の平均値を出すなど簡単にできますね。
SELECT SUM(kokugo) AS 国語 FROM 3nen1kumi;
これで3年1組(3nen1kumi)の国語(kokugo)の平均点が抽出できますね。
AS句を使うことも可能です。
これくらいならExcelですぐ出せますが・・・あくまでもイメージです。
同じように、最大(MAX),最小(MIN),合計(SUM)も抽出できます。
MAX (最大)
SELECT MAX(カラム1) FROM テーブルA;
意味:Aというテーブルの、1というカラム(列)の、最大値を抽出する。
MIN (最小)
SELECT MIN(カラム1) FROM テーブルA;
意味:Aというテーブルの、1というカラム(列)の、最小値を抽出する。
SUM (合計)
SELECT SUM(カラム1) FROM テーブルA;
意味:Aというテーブルの、1というカラム(列)の、合計値を抽出する。
COUNT (カウント)
SELECT COUNT(*) AS 行数 FROM テーブルA;
意味:Aというテーブルの、行数を抽出する。
数値の計算値ではないですが、テーブルの行数(レコード数)を出したい時はこれで出せます。
COUNT関数は、それぞれが独立しているので、複数出力することが出来ます。
SELECT COUNT(カラム1) , COUNT(カラム2) FROM テーブルA;
カラム1のNULL(空白)を除く行数と、カラム2のNULL(空白)を除く行数が抽出できます。
ここで注意は、カラム1とカラム2のAND条件ではないので注意です。あくまでも単独。それぞれの結果です。
いかがでしたか?
Excelでも出来るやん。と思われたと思いますが、データベースのデータを直接使用したり、参照する場合で同じような表計算が必要になる場面が出てきます。
SQLもExcelも結局、二次元の表になります。同じことが出来て当たり前なのですが、マスターしておくべき関数の紹介でした。
その他、SQL構文は以下にて整理分類しています。
[https://way2se.ringtrees.com/sql-001/]