2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

SQL基礎 sum,avg,maxなど

Posted at

こちらの記事では、私が学んだSQLについて記載しております。
自身の忘れないためのメモとしております。
間違っている部分もあるかもしれませんので、ご了承ください。

#sumで合計値を出す

select
	sum(カラム)
from
	テーブル名
where
	カラム名 >= '日付'  
and カラム名 < '日付';    ←範囲の条件式

#avgで平均を出す

select avg(カラム名) from テーブル名;

#minで最小値を出す

select min(カラム名) from テーブル名;

#maxで最大値を出す

select max(カラム名) from テーブル名;

#countで数を数える

count(*)とすると、テーブルの行数を取得できる!

select count(*) from テーブル名;

#countを使用して限定を行う(ユニークユーザー数を求める場合)

・count(distinct カラム名) を入れることで重複を避けるcount方法になります。
同じuserをカウントしないため!

select 
  count(distinct user_id) ←カラム名
from 
	access_logs  ←テーブル名
where
	month = '日付'; ←カラム名

#group byを使用して、グループ化を作成する

・カラム名_aをグループ化して分ける
select カラム名_a, count(*) from テーブル名 group by カラム名_a;

・下記は、重複したuser_idは避けて、月毎にユーザー数をカウントしてます。
select 
  month, count(distinct user_id) 同じuserは省かれる!
from 
  access_logs 
where 
  month >= '2020-01-01'  where...and...で期間の限定!
and 
  month < '2021-01-01'
group by 
  month;   月ごとの結果を出すよう指定!

#havingを使用して条件式の追加を行う

・記述方法 havingは、group byの後に書くことが重要!!!!!!
select
  カラム名
from
 テーブル名
where
 条件式
group by
 カラム名
having
 条件式

・having テーブルのデータを集約した結果に大して、条件式を適用する
select 
  month, count(distinct user_id)
from 
  access_logs 
where 
  month >= '2020-01-01' 
and 
  month < '2021-01-01'
group by 
  month
having count(distinct user_id) >= 500;  500以上のユーザー数をカウント 重複は省かれる!

#補足

###null(コラム)

0という意味ではなく、値がないことを示す特別な表現になる。
nullを使用する前に、別の方法で使用できないか検討した方が良い!!

###SQLの記述の順序/実行順序

記述順序                   実行順序
select・・・・・取得カラムの指定          from・・・・・・・対象テーブルの指定
from・・・・・・・対象テーブルの指定         where・・・・・・絞り込み条件式の指定
where・・・・・・絞り込み条件の指定         group by・・グループ化の条件を指定
group by・・グループ化の条件指定        having・・・・・グループ化した後の絞り込み条件を指定
having・・・・・グループ化した後の絞り込み条件指定  select・・・・・取得カラムの指定
order by・・・並び替え条件指定          order by・・並び替え条件を指定
limt・・・・・・・・取得する行数の制限         limit・・・・・・取得する行数の制限
2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?