PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Trova gli abbonati che non si sono abbonati di nuovo entro la soglia del vecchio abbonamento

Non esiste dovrebbe fare quello che vuoi:

select t.*
from t
where ends_at >= '2019-03-01' and ends_at < '2019-04-01' and
      not exists (select 1
                  from t t2
                  where t2.user_id = t.user_id and
                        t2.starts_at >= t.ends_at and
                        t2.starts_at <= t.ends_at + interval '2 day'
                 );