मुझे लगता है कि date_trunc
फ़ंक्शन आपका मित्र हो सकता है (देखें दस्तावेज़ पोस्ट करेंए> ) आप ऐसा कुछ करेंगे जो मुझे लगता है:
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,
आदि...