MySQL आपके लिए पंक्तियों का आविष्कार नहीं करेगा, इसलिए यदि डेटा नहीं है, तो वे स्वाभाविक रूप से नहीं दिखाए जाएंगे।
आप एक कैलेंडर तालिका बना सकते हैं, और उसमें शामिल हो सकते हैं,
create table calendar (
day date primary key,
);
इस तालिका को दिनांकों के साथ भरें (एक संग्रहीत प्रक्रिया के साथ आसान, या बस कुछ सामान्य स्क्रिप्टिंग), लगभग 2038 तक और कुछ और संभावित रूप से इकाई को तोड़ देगा जो एक समस्या बन जाती है।
तब आपकी क्वेरी उदा.
. बन जाती हैSELECT logTime, COUNT(*)
FROM calendar cal left join logs l on cal.day = l.logTime
WHERE day >= '2011-02-01' AND day <= '2011-02-04' GROUP BY day;
अब, आप कैलेंडर तालिका को अन्य कॉलम के साथ बढ़ा सकते हैं जो आपको महीना, वर्ष, सप्ताह आदि बताता है ताकि आप अन्य समय इकाइयों के लिए आसानी से आंकड़े तैयार कर सकें। (और शुद्धतावादी तर्क दे सकते हैं कि कैलेंडर तालिका में एक आईडी पूर्णांक प्राथमिक कुंजी होगी जो कि दिनांक के बजाय लॉग तालिका का संदर्भ देती है)