こんにちは、 SQL をあれやこれやしているヒト 森藤です。
掲題のとおりですが Software Design 12月号 「なにかと使えるSQL」の第4章 分析SQLの実例 を執筆しました。
書籍やネットでも、機能としての紹介はされているもののあまり具体的な事例としてはなかなか見あたらない集計関数を使った時系列処理などを紹介させていただきました。
また、弊社では BI ツールとして Redash を使っているのですが、 Common Table Expression (いわゆる WITH 句) と合わせて利用し、 CTE 自体を最後の SELECT
文でのテーブルとして選択して集計を書けることで、デバッグやレポート用のクエリを書く上でありがちなトラブルにどう立ち向かっているかなどを紹介させていただきました。
SQL の事例としては
を取り上げました。
ある期間における利用週数や利用日数を求めることは COUNT(DISTINCT DATE(created_at))
や COUNT(DISTINCT TIMESTAMP_TRUNC(created_at, WEEK(MONDAY), "Asia/Tokyo"))
などとするだけで難しくはないですが、「連続」利用とするとひと手間が必要になり、日頃 SQL パズルを解いている方でも「ん?」となってしまうこともあるのではないでしょうか
上記のような集計関数をゴリゴリと使う集計にご興味があればお手にとっていただければ幸いです。
技術評論社様、このような機会をいただき心から感謝しております。
最後に
TVerでは、地上波テレビの視聴データ・ TVer サービスにおける視聴データ、お気に入り・いいね・あとで見るなどのユーザデータなどを集約するデータエンジニア、分析を行うアナリスト、分析結果を元に施策立案や経営・サービス運営の指針を提示するデータサイエンティストを絶賛採用中です。
データいっぱいあるのでホックリ返す山しか有りません。
もしご興味があれば一度カジュアルにお話をするところからでもウェルカムです。ぜひご連絡ください、お待ちしております。