PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Nehmen Sie die letzten 3 Stunden und gruppieren Sie um 5 Minuten

Verwenden Sie generate_series() :

SELECT gs.t, COUNT(t.createdts)
FROM GENERATE_SERIES(now()::date - interval '3 hour', now()::date, interval '5 minute') gs(t)
     mytable t
     ON t.createdts >= gs.t AND
        t.createdts < gs.t + interval '5 minute'
GROUP BY gs.t;