Primeiro dia do mês:
SELECT DATE_FORMAT('2007-07-12', '%Y-%m-01');
saída:2007-07-01
Primeiro dia da semana:
SELECT DATE_SUB('2007-07-12', INTERVAL DAYOFWEEK('2007-07-12')-1 DAY);
saída:2007-07-08
Referência do MySQL:http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_date-add