create table ts ( ts timestamp, primary key (ts) ); insert into ts values('2009-09-20 09:10:15'); insert into ts values('2009-09-21 09:10:15'); insert into ts values('2009-09-22 09:10:15'); insert into ts values('2009-09-23 09:10:15'); insert into ts values('2009-09-24 09:10:15'); insert into ts values('2009-09-25 09:10:15'); insert into ts values('2009-09-26 09:10:15'); select date(date_sub(ts, interval mod(dayofweek(ts)+5, 7) day)) from ts;