SQL не може да върне редове, които не съществуват в някаква таблица. За да получите желания ефект, ще ви е необходима таблица Седмици (WeekNo INT) с един ред за възможна седмица от годината (която IIRC е 53 или 54 възможни седмици, в зависимост от това как броите).
След това ПРИСЪЕДИНЕТЕ тази таблица към редовните си резултати с OUTER JOIN, за да добавите допълнителните седмици.
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
[Актуализиране]:Забележете потребителя на COUNT(дата), а не на COUNT(*). SQL няма да включва NULL стойности в колоната за дата при добавяне на COUNT. Тъй като липсващите седмици няма да съдържат дати, това правилно ще ви даде 0 събития за тези седмици.