Bạn có thể lấy số đầu tiên của tháng, bằng cách tính ngày_ngày cuối cùng của tháng trước đó và thêm một ngày. Thật là khó xử, nhưng tôi nghĩ tốt hơn là định dạng một ngày tháng dưới dạng chuỗi và sử dụng nó để tính toán.
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)