Това е втори отговор, ще го публикувам отделно.
SELECT DATE(r1.reportdate) + INTERVAL 1 DAY AS missing_date
FROM Reports r1
LEFT OUTER JOIN Reports r2 ON DATE(r1.reportdate) = DATE(r2.reportdate) - INTERVAL 1 DAY
WHERE r1.reportdate BETWEEN '2011-01-01' AND '2011-04-30' AND r2.reportdate IS NULL;
Това е самостоятелно присъединяване, което отчита дата, така че да не съществува ред със следващата дата.
Това ще намери първия ден в празнина, но ако има серии с липсващи няколко дни, няма да отчете всички дати в празнината.