我想弄清楚我的用户滑动窗口统计信息。我有一个用户的表,以及像created_at和verified_at这样的列。对于每个月,我想知道有多少用户注册了(由created_at的date_trunc组成的一个简单组),然后是那些人,在我的滑动窗口中验证了多少用户(称为60天)。基于移动日期窗口有条件地求和SQL查询
我想要做一个SQL查询,让我这样的:
Month | Registered | Verified in 60 days
Jan 2009 | 1543 | 107
Feb 2009 | 2000 | 250
我使用PostgreSQL。我开始看sum(case ...),但我不知道是否可以让我的案例以某种方式依赖于date_trunc。
这是不行的,当然,但这里的想法:
SELECT DATE_TRUNC('month', created_at) as month,
COUNT(*) as registered,
SUM(CASE WHEN verified_at < month+60 THEN 1 ELSE 0 END) as verified
FROM users
GROUP BY DATE_TRUNC('month', created_at)
你使用哪种版本的PostgreSQL? – 2010-01-11 22:39:52
我正在使用8.3.5 – teich 2010-01-11 22:42:34