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

PostgreSQL:find antallet af på hinanden følgende dage indtil nu

with t as (
    SELECT distinct(uca.created_at::date) as created_at
    FROM user_challenge_activities as uca 
    INNER JOIN user_challenges as uc ON user_challenge_id = uc.ID 
    WHERE uc.user_id = #{user.id}
    )
select count(*)
from t
where t.create_at > (
    select d.d
    from generate_series('2010-01-01'::date, CURRENT_DATE, '1 day') d(d)
    left outer join t on t.created_at = d.d::date
    where t.created_at is null
    order by d.d desc
    limit 1
)


  1. MySQL CASE...HVOR...SÅ udsagn

  2. Beregn decil ud fra frekvens i MySQL

  3. Sammenkædning af en streng og primærnøgle-id under indsættelse

  4. Er det muligt at GRUPPE BY flere kolonner ved hjælp af MySQL?