आप इसे एक तालिका बनाकर हल कर सकते हैं जिसमें घंटों के लिए 24 मान होंगे (00:00, 01:00 आदि) और इसके साथ बाएं (या दाएं) जुड़ें और आपकी तालिका नल की अनुमति दे ताकि आपके पास सभी 24 पंक्तियां हों, भले ही आपकी तालिका में बिल्कुल 0 पंक्तियाँ हैं, फिर समूह को ठीक काम करना चाहिए।
जब आप जॉइन करते हैं तो अपनी टेबल से घंटे को छोड़कर सब कुछ छोटा करना न भूलें, इसलिए func का परिणाम जिसे आप कॉल करते हैं और join on
करते हैं। इस सहायता तालिका के मूल्य के बराबर हो सकता है।
आप 24 टेस्ट_टाइम मानों के साथ टेस्टटाइम टेबल को पॉप्युलेट करने के बाद काम करने के लिए निम्नलिखित क्वेरी का उपयोग कर सकते हैं
select test_time,sum(sign(coalesce(idFromYourTable,0))) as count from testtime
left join yourTable on test_time=hour(yourTableTime)
group by test_time
यह 0 को गिनती के रूप में प्रदान करेगा यदि परीक्षण तालिका से कोई मूल्य मिलान पंक्ति नहीं है, जबकि गिनती (*) होने पर आपकी तालिका खाली होने पर भी 0 के बजाय 1s के साथ 24 पंक्तियां प्रदान करेगी, भले ही आपकी तालिका में केवल 1 पंक्ति हो 0 पंक्तियों के बीच के अंतर को पहचानना असंभव है क्योंकि निम्नलिखित 2 अलग-अलग पंक्तियों के लिए परिणाम समान दिखाई देंगे
कारण दोनों समान परिणाम पंक्ति गणना 1 के बराबर प्रदान करेंगे, जबकि योग तकनीक इन पंक्तियों को अलग तरह से मानती है