アツシマンダイβ

学びながら、ゆるくアウトプットします。

第1回:SQLを使うとデータベースから好きなデータを抽出できる。

      2017/11/26

今は企画をしていますが、前はマーケティングをしていたので、SQLを用いたデータ分析もしていました。

ということで、SQLでデータ分析をする方法について、書いていきたいと思います。

SQLとは

SQLとは、データベースを触るためのプログラミング言語です。

SQLを学ぶと、具体的には以下のようなことが出来るようになります。

インターネットサービスにおいて、データをやりとりできる

インターネットサービスにおいて、MySQLという言語で、必要なデータだけをデータベースから抽出してきて、ページに表示したりということをします。

たとえば、ツイッターのタイムラインを表示するにあたって、以下のようなデータベースがあるとイメージしてもらうと分かりやすいと思います。

ツイート一覧テーブル
投稿日時 ハンドルネーム ツイート内容
201702271900 たなか おなかすいたー
201702271840 さとう ひま
201702251830 さとう ひま
201702260500 たなか へいへいへい

※これはあくまでも例であって、実際にツイッターのデータベースがこうなっているわけではありません。

さて、このテーブルから、ツイートを抽出してきて、投稿日時が新しいものから上に並べるわけです。

その場合のSQL文は、イメージ的には以下のような感じです。

SELECT 投稿日時,ハンドルネーム,ツイート内容

FROM ツイート一覧テーブル

ORDER BY 投稿日時 DESC

ツイート一覧テーブルから(FROM ツイート一覧テーブル)、投稿日時とハンドルネームとツイート内容の列を抽出して(SELECT 投稿日時,ハンドルネーム,ツイート内容)、投稿日時で降順に並べる(ORDER BY 投稿日時 DESC)ですね。

ページを表示する際に、データベースからこうやって取ってきておいて、あとはページの適切な場所に表示してやればいいわけです。

なんだか、超ざっくりな説明ですが。。

データ分析ができる

さて、僕はエンジニアではないため、上記の部分については詳しくはありませんが、SQLが書ける利点として、データ分析ができるというのがあります。もちろんデータベースを触れる環境が社内に用意されていなければいけませんが。

「先月みかん買った人で、今月も買ってる人ってどれくらいいるんだっけ」

果物売上テーブル
購入日 果物 個数 顧客番号
20170113 みかん 12 1
20170108 みかん 12 2
20170120 みかん 12 3
20170108 りんご 3 2
20170205 もも 5 2
20170220 かき 5 2
20170211 りんご 4 3
20170211 もも 3 3
20170203 みかん 12 1
20170203 りんご 2 1

 

SELECT COUNT(distinct a.顧客番号)as 人数

FROM

(

SELECT distinct 顧客番号

FROM 果物売上テーブル

WHERE LEFT(購買日,6) = ‘201701’ and 果物 = ‘みかん’

) as a

,果物売上テーブル as b

WHERE

a.顧客番号 = b.顧客番号

and b.LEFT(購買日,6) = ‘201702’ and 果物 = ‘みかん

出力:

人数
1

————————————————————–

みたいな感じですね。

何を書いているか分からないかもしれませんが、慣れるとサクサクと書けるようになります。

このくらいだと、数えたほうが早いと思われるかもしれませんが、実際のデータベースには何百万行とレコードがあるため、SQLがないと集計が大変です。

SQLが書けると、これは超たとえばですが「2か月連続でみかん購入キャンペーンを考えたけど、どのくらいの規模のキャンペーンになるのかな…」といったことが、ほんの数秒で分かるようになります。もしくは、2か月連続でみかんを購入している人と、1か月で止まっている人の差分を分析したりすることも可能になります。

ターゲティングした施策が打てるようになるだけでなく、あまりに母数が少ない層に労力をかけた施策を行ってしまうことも減ります。

それに、管理職や先輩とガンガン数字で話せるようになります。「若いのにしっかりしているなぁ」と思われるか、思われないかは分かりませんが、SQL、ぜひ覚えましょう!笑

SQLでマーケティング講座

「SQLとは」~「SQLの書き方」、「SQLを用いたデータ分析」などについて、書いていきたいと思います。

第1回:SQLを使うとデータベースから好きなデータを抽出できる。

第2回:SQLの基本は、SELECT句、FROM句、WHERE句。

 - SQL