http://dev.mysql.com/doc/refman/5.0/...functions.html Cita: WEEKDAY(date)
Retorna el índice de días de la semana para date (0 = lunes, 1 = martes, ... 6 = domingo).
mysql> SELECT WEEKDAY('1998-02-03 22:23:00');
-> 1
mysql> SELECT WEEKDAY('1997-11-05');
-> 2
No puedo probarlo ahora pero algo así deberia servirte.
En programación externa seria la misma idea apartir de una fecha, miras que dia es de la semana y con eso restas para obtener el primer dia de la semana, y a eso le sumas 7 para obter el ultimo. Cuidado con lo que te responde la funcion que utilices para obtenr el dia de la semana, puede empezar por 0 cero com mysql, o por 1 y puede que el primer indice sea el domingo o el lunes...