SQLは、一部のテーブルに存在しない行を返すことはできません。必要な効果を得るには、1年の可能な週ごとに1行のテーブルWeeks(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(date)のユーザーに注意してください。 SQLは、COUNTを合計するときに、日付列にNULL値を含めません。欠落している週には日付が含まれないため、これらの週のイベントは正しく0になります。