我有以下幾點:重新激活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