意外と簡単!プログラミングはこうして学ぶ 現役エンジニアの面倒を一気に解決する技術

著者フォロー
ブックマーク

記事をマイページに保存
できます。
無料会員登録はこちら
はこちら

印刷ページの表示はログインが必要です。

無料会員登録はこちら

はこちら

縮小

SQLを使ってデータベースに問い合わせをすることで、さまざまな集計ができるようになります。たとえば、全売り上げのうち新潟県のものをすべて取得する、という集計をしてみましょう。考え方を分解すると、

・customer_prefecture という列には購買者の居住都道府県コードが格納されている
・15 は新潟の都道府県コード
・つまり、 customer_prefecture に 15 が入っている行をすべて取得すればいい

この集計を行うSQLは以下のようになります。

select * -- すべてのカラムを取得する
from sales -- `sales` テーブルから
where -- 条件は
customer_prefecture = 15; -- `customer_prefecture` が `15` と等しい

 

問い合わせが成功すると、このような結果が得られます(見やすいように整形しています)。

2017-02-17 11:21:49 Donut red female 50 15
2017-02-17 12:59:27 Cupcake green male 45 15

 

自然言語で手順化した集計の条件をSQLという言語で記述することでデータが集計できる、というSQLのいちばん簡単なサンプルです。

男女別の売り上げを出すには

もうちょっと実用的な集計に近い例として、 商品 Eclair の男女別の売り上げを出してみましょう。同様に考え方を記述してみると……

・product_name という列には商品名が格納されている
・customer_gender という列には購買者の性別が格納されている
・つまり product_name に Eclair が格納されている行を customer_gender 別に集計すればよい

この集計を行うSQLは以下のようになります。

select product_name, customer_gender, count(1)
from sales
where
product_name = 'Eclair'
group by customer_gender;

 

すると、以下のような結果が得られます。

Eclair female 2
Eclair male 3

 

サンプルになった表は10行なので手で数えることも可能ですが、これが100行、1000行、10000行……と増えていっても、SQLを使った集計ではほとんど何も変わりません。こういった作業をエンジニアの手を借りずにできると、お互いの仕事がスムーズに進むのは間違いありません。

次ページなにが得意か知っていると作業を効率化できる
関連記事
トピックボードAD
キャリア・教育の人気記事