Detta ger dig den senaste månaden:
WHERE dateColumn BETWEEN SUBDATE(CURDATE(), INTERVAL 1 MONTH) AND NOW();
Detta från början av månaden:
WHERE dateColumn BETWEEN STR_TO_DATE('2012-09-01', '%Y-%m-%d') AND NOW();
MELLAN är inget speciellt, det är bara en genväg för
dateColumn <= ... AND dateColumn >= ....
Hmm, jag antar att NOW()-jämförelsen faktiskt inte behövs, eftersom alla poster kommer att vara tidigare.
Så gör bara:
WHERE dateColumn >= STR_TO_DATE('2012-09-01', '%Y-%m-%d')
Dynamisk start på innevarande månad:
WHERE dateColumn >= CURDATE() - INTERVAL DAY(CURDATE())-1 DAY
Allt detta gör är att extrahera dagen i månaden från det aktuella datumet, och sedan subtrahera de många dagar mindre en från det.