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

Trova nuovi record per ciascuno degli ultimi n mesi in PostgreSQL

Penso che il date_trunc function potrebbe essere tuo amico (vedi documenti postgres ). Faresti qualcosa del genere suppongo:

select 
COUNT(ID) as Total,
COUNT(CASE WHEN createddate between date_trunc('month', now()) AND now() THEN AG.ID END) as ThisMonth,
COUNT(CASE WHEN createddate between date_trunc('month', now()) - interval '1 month' AND date_trunc('month', now()) - interval '1 day' THEN AG.ID END) as LastMonth,

ecc...