我目前正在使用 aMember 来管理 WordPress 网站的付款,以强制实施付费墙。我不是设置它的管理员,我仍在学习他们的数据库。另外,我的 SQL-fu 很弱;我不是受过培训的工程师,但我是组织中唯一一个完全了解任何 SQL 的人。
我的 CFO 想要一份报告,按天细分新注册的数量,可以追溯到两年前。据我所知,aMember 没有对此进行简单的细分。它所拥有的是我们收到的每一笔付款的完整记录。
我可以轻松地按日期分解此付款记录,以查看我们在给定日期收到了多少付款。问题是,其中许多付款来自现有用户。此外,我们还有订阅、取消和重新订阅的用户。我们的门槛是 30 天,因为我们认为这是“完全失效”。因此,我们希望忽略在 [日期] 30 天内付款已过期的用户在 [日期] 支付的任何款项。
示例:John Smith 于 2012 年 12 月 1 日订阅。John Smith 的最后一笔付款于 2013 年 1 月 1 日到期。约翰的帐户没有更新。约翰于 2013 年 1 月 5 日重新订阅。约翰的付款应在 2012 年 12 月 1 日算作“新”付款(因为他之前没有记录在案),但不是在 2013 年 1 月 5 日(因为他的付款在 1 月 1 日到期,在 30 天内) 1/5 付款)。
架构如下。当前查询不会过滤掉现有会员的续订并且只是收到的付款计数,如下所示。如果需要任何其他信息,或者有人知道我以外的成员,请让我知道我还能提供什么来帮助回答。我在我的头上,尽我所能!
SELECT begin_date, COUNT( payment_id )
FROM [foo]
WHERE amount >0
GROUP BY begin_date
ORDER BY begin_date DESC
payment_id
member_id
product_id
begin_date
expire_date
paysys_id
receipt_id
amount
completed
remote_addr
data
time