0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

グループ化したデータの中からデータを抽出する方法

0
Posted at

はじめに

今回は、SQLの基本となる HAVING について解説していきます。

HAVINGとは

HAVING とは、グルーピングされたデータの中からさらに特定の条件でデータを抽出するために使うSQL文です。

基本形は以下です。

SELECT グルーピングをするカラム, 集計関数(集計対象カラム)
FROM テーブル名
WHERE 条件式
GROUP BY グルーピングをするカラム
HAVING 集計関数(集計対象カラム)で条件式
ORDER BY ソート条件;

具体例のsqlを書いてみました!

SECLECT 商品名,sum(売上金額)
FROM test_table
WHERE 商品名 !=`ジャケット`
GROUP BY 商品名
HAVING sum(売上金額)<= 1000000

test_tableのテーブルからジャケット以外の商品名を売上金額10万以下の商品を抽出するということですね〜

WHEREもHAVINGもやっていることはどちらもデータに対して抽出処理をしていますね〜
しかし、タイミングが異なります!

SQLにはコマンドを実行してから実行の順番が決まっていて
1.FROM(どのテーブルの)
2.WHERE(どのデータ)
3.GROUP BY (どうグルーピング(グループ化)し)
4.HAVING (グルーピングしたデータをどう抽出)
5.SELECT (どのカラムを)
6.ORDER BY (どういう順番で表示をするか)
の順番で結果表示をを行っている

終わりに

HAVINGはグループ化したデータの中からどう抽出するのかを選択するSQLでしたね!
WHEREと似ていますが
- WHERE→グループ化する前
- HAVING→グループ化した後
という違いがあります!
sqlにも抽出する順番があるのは初めてしれたので面白かったです!
引き続き、勉強を趣味かさせるべく取り組んでいこうと思います✨

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?