Primer día del mes:
SELECT DATE_FORMAT('2007-07-12', '%Y-%m-01');
salida:2007-07-01
Primer día de la semana:
SELECT DATE_SUB('2007-07-12', INTERVAL DAYOFWEEK('2007-07-12')-1 DAY);
salida:2007-07-08
Referencia de MySQL:http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_date-add