MySQL:- Fetch records from 31 to 60 days
WHERE   date_created &gt;= CURDATE() - INTERVAL 60 DAY
  AND   date_created  &lt; CURDATE() - INTERVAL 30 DAY

WHERE   date_created &gt;= CURDATE() - INTERVAL 90 DAY
  AND   date_created  &lt; CURDATE() - INTERVAL 60 DAY


No, don't use 31 and 61; use the inequality.

CURDATE() will give you boundaries at midnight; NOW() will be based on the current time.  (This matters if date_created is a DATETIME instead of a DATE.)

Don't use DATEDIFF, it would let you use any index involving date_created for efficiency.