この記事は「データベーススペシャリスト資格に興味はあるが、どのようなものか?どう学ぶのか?」という方向けに、具体的な内容と私自身の挑戦ログをお伝えする。学び中の方や、これから学ぼうとされる方の参考になれば幸いだ。
今回は「関数の確認ドリル」について書く。
※注意点として、SQLはDBMSによって作法が異なる。この記事はGoogle Big Queryに準拠するものであることをお含みおき願いたい。
問題024(SQL 関数の確認ドリル)
問題文
- 「web_log」テーブルから年月別のページビュー数を取得し、
- ページビュー数が多い順にトップ3の年月(year_month)と、
- 同月のページビュー数(pageviews)を取り出してください。
- 結果テーブルは、年月(year_month)とページビュー数(pageviews)の2カラムとなります。
日付の丸め(date_trunc)
- web_logテーブルは1レコードが1ページビューで、date_timeを管理する。
- 日付の丸めはdate_trunc関数を利用する。まず単純にdate_timeを丸めた結果は以下のとおり。
仮想テーブルの集計(with句、集計関数)
- 上記のとおり丸めた年月を束ね、集計し、トップ3に並べ直す。
- 丸めた年月の仮想テーブル化にはwith句(以下赤枠)、集計にはcount句(以下緑枠)、トップ3並べ直しはorder byとlimit(以下青枠)を用いる。
確認ドリルの振り返り
- このような丸めた日付(年月単位など)での集計は、実務で頻繁に利用することが想定される。
- 確認ドリルなどを通じてしっかり身に着けたい。
考察
- SQLについて。基本的なSQL関数について学習完了した。今回は「関数についての確認ドリル」を解いた。(丸めた日付(年月単位)での集計、仮想テーブル利用、トップ3表示)
- 考察。疑問について自らデータで確認していくのは面白い。たとえば「日本の働き手は減るのか?」なら「2019年を境に減少傾向(画像1枚目)」と分かるし、その主な理由は「1年あたり約60万人ペースの生産年齢人口(15~64歳)減少(画像2枚目)」と分かる。
考察のシンプル化と英訳(練習中)
- confirming one question gives me new question. this loop is very exciting and fun.
- (1つ質問を確認すると、新しい質問が与えられます。このループはとてもエキサイティングで楽しいです)
参考書籍(該当箇所)
- 集中演習 SQL入門/木田和廣/株式会社インプレス(SQL確認ドリル)
コメント