Осторожно, это просто концептуальная идея: у меня нет установки mysql здесь, так что я не могу ее протестировать.
Однако я бы опирался на таблицу, содержащую целые числа, чтобы эмулироватьсерия.
Что-то вроде:
CREATE TABLE integers_table
(
id integer primary key
);
С последующим (предупреждение, это псевдокод)
INSERT INTO integers_table(0…32767);
(это должно быть достаточно недель до концанаши жизни: -)
Затем
FirstMondayInUnixTimeStamp_Utc= 3600 * 24 * 4
SecondPerday=3600 * 24
(так как 1 января 1970 года был четверг. Остерегайтесь, я не перепроверил! Я мог бы уйти несколько часов!)
А потом
CREATE VIEW weeks
AS
SELECT integers_table.id AS week_id,
FROM_UNIXTIME(FirstMondayInUnixTimeStamp_Utc + week_id * SecondPerDay * 7) as week_start
FROM_UNIXTIME(FirstMondayInUnixTimeStamp_Utc + week_id * SecondPerDay * 7 + SecondPerDay * 6) as week_end;