Als je geen oude MySQL gebruikt, kun je dit in een opgeslagen functie stoppen.
CREATE FUNCTION `LastMonday`() RETURNS DATETIME
RETURN DATE_SUB(CURDATE(), INTERVAL WEEKDAY(CURDATE()) DAY) ;
en bel dan
select LastMonday() as LastMonday
Bijwerken:
Als u prestatieproblemen ondervindt, kunt u de waarde in een sessievariabele behouden. Zo weet je zeker dat het maar één keer berekend wordt.
set @LastMonday=LastMonday();
select @Lastmonday;
(in deze simpele vraag maakt het natuurlijk niets uit...)