Jeśli odejmiesz bieżący dzień miesiąca od daty i dodasz 1, otrzymasz początek bieżącego miesiąca. Możesz użyć tej logiki:
where time between date_sub(curdate(), interval day(curdate()) - 1 day) and
date_sub(date_add(date_sub(curdate(), interval day(curdate()) - 1 day), interval 1 month), interval -1 day)