आप पहले महीने के अंतिम_दिन की गणना करके और एक दिन जोड़कर महीने का पहला प्राप्त कर सकते हैं। यह अजीब है, लेकिन मुझे लगता है कि यह एक तारीख को स्ट्रिंग के रूप में प्रारूपित करने और गणना के लिए उपयोग करने से बेहतर है।
select
*
from
yourtable t
where
/* Greater or equal to the start of last month */
t.date >= DATE_ADD(LAST_DAY(DATE_SUB(NOW(), INTERVAL 2 MONTH)), INTERVAL 1 DAY) and
/* Smaller or equal than one month ago */
t.date <= DATE_SUB(NOW(), INTERVAL 1 MONTH)