我有以下几点:重新激活SQL
with t as (
SELECT advertisable, EXTRACT(YEAR from day) as yy, EXTRACT(MONTH from day) as mon,
ROUND(SUM(cost)/1e6) as val
FROM adcube dac
WHERE advertisable IN (SELECT advertisable
FROM adcube dac
GROUP BY advertisable
HAVING SUM(cost)/1e6 > 100
)
GROUP BY advertisable, EXTRACT(YEAR from day), EXTRACT(MONTH from day)
)
select advertisable, min(yy * 10000 + mon) as yyyymm
from (select t.*,
(row_number() over (partition by advertisable order by yy, mon) -
row_number() over (partition by advertisable, val order by yy, mon)
) as grp
from t
)as foo
group by advertisable, grp, val
having count(*) >= 6 and val = 0
;
这会跟踪站花了4个月的帐户的激活日期。不过,我想要追踪重新激活日期。因此,如果帐户在4个月后再次开始支出,我可以看到该帐户的新开始日期?
请,*总是*为您正在使用的表的表定义。还有你的Postgres版本。 – 2014-11-20 18:10:06