July 2021
Intermediate to advanced
376 pages
6h 34m
Japanese
データベースのユーザーが必要とするデータの単位はさまざまなので、データを格納するときにはそのうち最も小さな単位を使うというのが一般的です。たとえば、アカウントを管理しているChuckが個々の顧客の取引を調べる必要があるとしたら、取引を個別に記録するテーブルがデータベースに存在しなければなりません。とはいえ、すべてのユーザーがデータベースに保存されているデータをそのままの形で扱わなければならないというわけではありません。本章では、データをグループ化したり集計したりすることで、データベースに格納するときよりも大きな単位でデータを操作できるようにする方法を重点的に見ていきます。
データにどのような傾向があるか調べたいので、結果セットを生成する前にデータベースサーバー側でデータを少し加工したいことがあります。たとえば、得意客に無料クーポンを送付するとしましょう。データベースサーバーに保存されている素のデータを調べるのは簡単です。
mysql> SELECT customer_id FROM rental;
+-------------+
| customer_id |
+-------------+
| 1 |
| 1 |
| 1 |
| 1 |
| 1 |
| 1 |
......
| 599 |
| 599 |
| 599 |
| 599 |
| 599 |
+-------------+
16044 rows in set (0.05 sec)
のべ599人の顧客が16,000件のレンタル記録に散らばっており、素のデータを調べてレンタル回数が最も多い顧客を調べるというのは現実的ではありません。そこで代わりに、group by句を使ってデータベースサーバーにデータをグループ化させることができます。同じクエリに ...
Read now
Unlock full access