- 締切済み
SQLのCASE文の書き方がわからない
あるサービスの閲覧履歴のテーブルがあります。 カラムは 閲覧日時(yyyy/mm/dd hh:mm:ss)、 会員ID、 コンテンツID、 パーティション(yyyy-mm-dd) 上記の様になっています。 コンテンツIDは4桁+5桁の組み合わせになっ ていて、 前の4桁はジャンル(占い、グルメ、ファッションなど)になっています。 パーティションは日毎にあります。 このテーブルから 週毎にそれぞれのジャンルをどれくらい閲覧したのか集計したいです。 やりたいアウトプットのイメージは下記のようなものです 10/06~10/12 10/13~10/19 10/20~10/26 ジャンルA 200 400 300 ジャンルB 300 200 200 1日に同じ会員IDが複数回見た場合に「1回」とカウントする場合と「複数回」とカウントする2パターンを考えています。 週毎の一つ一つのコンテンツを集計することは調べてできるようになったのですが まとめて集計する方法がうまくできず困っています。 前任者からうまく引き継ぎができなかったことと、社員に質問して答えてくれそうな人がいないため困っています。 hiveSQL というのを使っています。 クロス集計をするにはCASE文というのを書けば良いことはわかって、 ネットに出ている例を当てはめて見ようとしたのですが、 うまくできません。 やり方を教えていただけないでしょうか。 SQLだけでやる方法でも、エクセルのピボットテーブルと組み合わせるようなやり方でも教えていただけると助かります。 よろしくお願いいたします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- cse_ri3
- ベストアンサー率25% (165/640)
回答No.2
- STICKY2006
- ベストアンサー率29% (1536/5269)
回答No.1