Jeśli nie używasz starożytnego MySQL, możesz umieścić to w zapisanej funkcji.
CREATE FUNCTION `LastMonday`() RETURNS DATETIME
RETURN DATE_SUB(CURDATE(), INTERVAL WEEKDAY(CURDATE()) DAY) ;
a następnie zadzwoń
select LastMonday() as LastMonday
Aktualizacja:
Jeśli masz problemy z wydajnością, możesz zachować wartość w zmiennej sesji. W ten sposób możesz mieć pewność, że zostanie ona obliczona tylko raz.
set @LastMonday=LastMonday();
select @Lastmonday;
(w tym prostym zapytaniu nie ma to oczywiście żadnego znaczenia...)