実現したいこと
会員情報テーブルの日次会員数を集計したいと考えています。
<やりたいこと>
入会(create)された日は、createされた日に件数をプラスカウント(カテゴリー別)。
退会(delete)された日は、
入会日のカウントを残して、deleteされた日に件数をマイナスカウントしたいです。
以下のようなテーブルから
<データ>
user_id | category | create | create flag | delete | delete flag |
---|---|---|---|---|---|
... | ... | ... | ... | ... | ... |
1000 | A | 2022-01-01 | 1 | ||
1001 | B | 2022-01-02 | 1 | 2022-01-04 | 1 |
1002 | C | 2022-01-03 | 1 | ||
1002 | C | 2022-01-03 | 1 | ||
1003 | D | 2022-01-04 | 1 | ||
1003 | D | 2022-01-04 | 1 | ||
... | ... | ... | ... |
以下のような結果を得るやり方をご教示いただけませんでしょうか。
<SQLの集計結果>
yyyymmdd | category | 件数 |
---|---|---|
2021-01-01 | A | 1 |
2021-01-02 | B | 1 |
2021-01-03 | C | 2 |
2021-01-04 | D | 2 |
2021-01-04 | B(初回登録されたカテゴリー) | -1 |
試したこと
SQLのことを、よく理解できてないため苦戦しております。
試したこととしては、日次に集計した結果をUNION ALLで引いてみたりしましたが、カテゴリーの結果がちゃんと出せませんでした。
日次でカテゴリー別の入会データ
UNION ALL
日次でカテゴリー別の退会データ(sum(delete flag)*-1)
ご教示いただけますと幸いです。
よろしくお願いいたします。
0 コメント