アプリのX日間の継続率を出すのに、困っています。
アプリを起動するとeventテーブルにAuthというイベント名称で保存されます。
その日にログインしたかしてないかの有無で知りたいのですが、下記のSQL文ではセッションとして表されてしまいます。
要するに、1日に10回起動しても"1回"と数えたいです。
アカウント作成日とログインイベント発生の差分で括ってているので、ここからさらにユーザー毎に括ることが出来れば出せると考えているのですが、詰まっています。
具体的にどのようなSQL文を書けば良いか教えていただきたいです。
###テーブル
user table
id
name
created_at
event table
id
type
created_at
user_id
###SQL文
SQL
1 SELECT DATEDIFF(event.created_at, user.created_at) AS 'Day', 2 COUNT(DATEDIFF(event.created_at, user.created_at)) AS 'セッション数' 3 FROM user 4 INNER JOIN event 5 ON user.id = event.user_id 6 WHERE event.type = 'Auth' 7 AND user.created_at BETWEEN '2018-08-01 00:00:00' AND '2018-08-31 23:59:59' 8 GROUP BY DATEDIFF(event.created_at, user.created_at);
SQL文のOUTPUT例
Day | セッション数 |
---|---|
0 | 1000 |
1 | 750 |
2 | 550 |
3 | 500 |
4 | 460 |
5 | 440 |

回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。