テクノロジー

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

k-99's icon'
  • k-99
  • 2022/12/12 15:23
Content image

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

 

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

 

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

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

・MySQLでGROUP BYを使ってデータをグループ化して分析したい

 

【目次】

・GROUP BY

・複数カラムでグループ化

グループ毎のデータ数

・GROUP BYとWHERE

・まとめ

 

【GROUP BY】

GROUP BYを使うとデータグループ化できるので細かく分析することができます。

 

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

商品データを少し変更し、新たにtypeというカラムを追加しました。

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

 

Content image

商品データ取得できました。

 

ここでは、野菜・調味料・飲料グループ化して、それぞれの平均価格取得してみます。

GROUP BYを使ってグループ化するときは

SELECT 集計関数(カラム名), カラム名 FROM テーブル名

GROUP BY カラム名;

と記述してEnterを押します。

 

Content image

平均を求める集計関数AVGを使って野菜・調味料・飲料平均価格取得しました。

 

何を取得する?→平均価格とtype

何でグループ化する?→type

というイメージです。

 

小数点以下桁数が多いので、FLOORを使い小数点以下切り捨てデータ取得します。

 

Content image

小数点以下切り捨てデータ取得できました。

 

複数カラムでグループ化

GROUP BYを使って複数カラムグループ化することもできます。

複数カラムグループ化するため、賞味期限カラムを追加しました。

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

 

Content image

商品データ取得できました。

 

カラム「type」と、カラム「best_before」グループ化したデータ取得します。

 

Content image

 

このように、複数カラムグループ化するときは

GROUP BY カラム名, カラム名

と記述します。

野菜・調味料・飲料毎賞味期限取得できました。

 

【グループ毎のデータ数】

上記で、野菜・調味料・飲料毎賞味期限取得できましたがグループ毎データ数が知りたいときはどうすれば良いでしょうか?

集計関数COUNTを使うとデータ数取得できます。

 

Content image

グループ毎データ数取得できました。

 

【GROUP BYとWHERE】

GROUP BYWHEREを使うことで、特定データ取得した上でグループ化することができます。

 

例えば、「野菜」データ取得賞味期限グループ化グループ毎平均価格取得してみます。

Content image

 

何を取得する?→平均価格と賞味期限

何のデータで絞る?→野菜のデータ

何でグループ化する?→賞味期限

というイメージです。

まとめ

・GROUP BYを使うとデータをグループ化できるので細かく分析できる

・GROUP BYを使って複数カラムでグループ化することもできる

・GROUP BYとWHEREで特定のデータを取得した上でグループ化することができる

 

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

Content image

 

Twitter

 

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

【関連記事】

SQLの環境構築「MySQL」

SQLの基礎:「MySQLの起動」

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

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

 

 

 

 

 

 

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

投稿者の人気記事
コメントする
コメントする
こちらもおすすめ!
Eye catch
テクノロジー

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

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

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

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

Uniswap v3を完全に理解した

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

Bitcoin史 〜0.00076ドルから6万ドルへの歩み〜

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

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

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

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

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

ALISのシステム概観

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

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

Like token Tip token
85.05 ALIS
Eye catch
ゲーム

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

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

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

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

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

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

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

Like token Tip token
124.82 ALIS