SQL nemůže vrátit řádky, které v nějaké tabulce neexistují. Abyste dosáhli požadovaného efektu, budete potřebovat tabulku Weeks (WeekNo INT) s jedním řádkem na jeden možný týden v roce (což, IIRC, je buď 53 nebo 54 možných týdnů, podle toho, jak počítáte).
Potom PŘIPOJTE tuto tabulku ke svým pravidelným výsledkům pomocí OUTER JOIN, abyste získali další týdny navíc.
SELECT DATE_FORMAT(date, 'Y:%X - Week:%V') AS regweek, COUNT(date) as number
FROM YourTable RIGHT OUTER JOIN Weeks ON WEEK(YourTable.date) = Weeks.WeekNo
[Aktualizovat]:Všimněte si uživatele COUNT(datum), nikoli COUNT(*). SQL nezahrne hodnoty NULL do sloupce data při sčítání COUNT. Vzhledem k tomu, že chybějící týdny nebudou obsahovat žádná data, získáte pro tyto týdny správně 0 událostí.