テクノロジー

SQLの基礎:「MySQLでデータ取得~HAVING~」

k-99's icon'
  • k-99
  • 2022/12/13 13:42
Content image

SQLでは、膨大なデータ管理されているデータベースを扱うため、様々なデータ取得して分析することができます。

 

ここでは、MySQLHAVINGを活用したデータ取得について簡単に解説します。

 

【この記事はこんな方に向けて書いています】

・SQLの勉強をしてデータベースを扱ってみたい

・MySQLでHAVINGを使ってグループ化したデータから特定の条件で絞り込みたい

 

【目次】

・HAVING

・WHEREとHAVING

・まとめ

 

【HAVING】

HAVINGを使うと、GROUP BYグループ化したデータに対して、特定条件に当てはまるデータだけ抽出することができます。

 

先日の記事で、スーパー食品コーナーに並んでいる商品を格納したテーブルを作成しました。

商品データを少し変更し、商品種類賞味期限を追加しました。

テーブル「items」データ取得します。

 

Content image

 

GROUP BY集計関数HAVINGを使って、以下の商品データ取得します。

GROUP BYで商品の種類・賞味期限でグループ化

集計関数COUNTでグループ毎のデータ数を取得

HAVINGで賞味期限が2023年8月31日以前の商品データを抽出

 

Content image

データ取得できました。

賞味期限2023年8月31日以前商品種類野菜で、個数は3個あるようです。

このように、HAVINGを使うとグループ化したデータに対して絞り込みができます。

 

【WHEREとHAVING】

WHEREHAVINGは似ているので、簡単に違いを解説します。

 

WHEREHAVINGを使って「飲料」商品データ取得します。

 

Content image

WHEREを使って「飲料」商品データ取得しました。

 

Content image

HAVINGを使って「飲料」商品データ取得しました。

 

これだけ見ると、違いがわかりません。

 

次に、上記でGROUP BY集計関数HAVINGを使って賞味期限2023年8月31日以前商品データ取得しましたが、WHEREを使って同じデータ取得してみます。

 

Content image

エラーが出てしまいました。

 

エラーの原因は、実行される順番にあります。

WHERE→GROUP BY→HAVING順番実行されます。

 

WHEREはGROUP BYの前

HAVINGはGROUP BYの後

になります。

 

「飲料」商品データ取得したときはGROUP BYがなかったので、WHEREでもHAVINGでも同じデータ取得できたということになります。

まとめ

・HAVINGを使うとグループ化したデータに対して特定の条件で絞り込みができる

・GROUP BYがなければWHEREでもHAVINGでも同じ絞り込みができる

・WHERE→GROUP BY→HAVINGの順番に実行される

 

ここまで読んで頂きありがとうございました。

Content image

 

Twitter

 

-------------------------------------------------------------------------------------

【関連記事】

SQLの環境構築「MySQL」

SQLの基礎:「MySQLの起動」

SQLの基礎:「MySQLでデータ取得~GROUP BY~」

-------------------------------------------------------------------------------------

当ブログの記事一覧(カテゴリー別)

 

 

Article tip 0人がサポートしています
獲得ALIS: Article like 1.21 ALIS Article tip 0.00 ALIS
k-99's icon'
  • k-99
  • @k-99
python初学者です。pythonで勉強した内容を自分なりにわかりやすくアウトプットしていきます、よろしくお願いします。Twitter:@python_begin

投稿者の人気記事
コメントする
コメントする
こちらもおすすめ!
Eye catch
クリプト

17万円のPCでTwitterやってるのはもったいないのでETHマイニングを始めた話

Like token Tip token
46.60 ALIS
Eye catch
テクノロジー

なぜ、素人エンジニアの私が60日間でブロックチェーンゲームを制作できたのか、について語ってみた

Like token Tip token
270.93 ALIS
Eye catch
クリプト

NFT解体新書・デジタルデータをNFTで販売するときのすべて【実証実験・共有レポート】

Like token Tip token
121.79 ALIS
Eye catch
テクノロジー

彼女でも分かるように解説:ディープフェイク

Like token Tip token
32.10 ALIS
Eye catch
ゲーム

ドラクエで学ぶオーバフロー

Like token Tip token
30.10 ALIS
Eye catch
クリプト

ジョークコインとして出発したDogecoin(ドージコイン)の誕生から現在まで。注目される非証券性🐶

Like token Tip token
38.31 ALIS
Eye catch
クリプト

Bitcoinの価値の源泉は、PoWによる電気代ではなくて"競争原理"だった。

Like token Tip token
159.32 ALIS
Eye catch
クリプト

約2年間ブロックチェ-ンゲームをして

Like token Tip token
61.20 ALIS
Eye catch
テクノロジー

オープンソースプロジェクトに参加して自己肯定感を高める

Like token Tip token
85.05 ALIS
Eye catch
他カテゴリ

機械学習を体験してみよう!(難易度低)

Like token Tip token
124.82 ALIS
Eye catch
テクノロジー

iOS15 配信開始!!

Like token Tip token
7.20 ALIS
Eye catch
クリプト

Uniswap v3を完全に理解した

Like token Tip token
18.92 ALIS