यह दूसरा जवाब है, मैं इसे अलग से पोस्ट करूंगा।
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;
यह एक सेल्फ़-जॉइन है जो एक तारीख की रिपोर्ट करता है जैसे कि अगली तारीख के साथ कोई पंक्ति मौजूद नहीं है।
यह पहले दिन को अंतराल में खोजेगा, लेकिन यदि कई दिनों के रन गायब हैं तो यह अंतराल में सभी तिथियों की रिपोर्ट नहीं करेगा।