如何编写一个简明的sql来获得每月的订阅率。
公式:订阅率=订阅次数/试用次数
注意:棘手的部分是订阅事件应该归因于公司开始跟踪的月份。
| id | date | type |
|-------|------------|-------|
| 10001 | 2019-01-01 | Trial |
| 10001 | 2019-01-15 | Sub |
| 10002 | 2019-01-20 | Trial |
| 10002 | 2019-02-10 | Sub |
| 10003 | 2019-01-01 | Trial |
| 10004 | 2019-02-10 | Trial |
Based on the above table, the out output should be:
2019-01-01 2/3
2019-02-01 0/1
2条答案
按热度按时间km0tfn4u1#
一种选择是自连接,以确定每个试验是否最终订阅,然后是聚合和算术:
将日期截短到月初的语法在不同的数据库中有很大差异。以上这些都适用于博士后。其他数据库也提供了替代方案,例如:
aamkag612#
您可以使用窗口函数来实现这一点。假设没有重复的试用/订阅:
如果
id
可以有重复的试验或潜艇,那么我建议你问一个新的问题,更详细的重复。您还可以使用两个聚合级别来完成此操作: