आप -लगभग - जो कुछ भी आप चाहते हैं, उस पर आप समूह बना सकते हैं। यदि आप जो चाहते हैं उसे दिखाने के लिए कॉलम में कुछ प्राप्त कर सकते हैं, तो आप उस पर समूह बना सकते हैं। तो केवल दो अवधियों के लिए आप बस एक if:
. पर समूह बना सकते हैंSELECT * FROM table
GROUP BY if(stamp between "2005-07-01" and "2006-02-01", 0, 1)
यदि आपको अवधियों को अधिक समय (कई वर्षों) से अधिक अवधि की आवश्यकता है, तो आप भेद करने के लिए period_diff का उपयोग कर सकते हैं:
SELECT * FROM table
GROUP BY floor(period_diff( DATE_FORMAT(stamp, "%Y%m"), "200507") / 6)
यह आपको वर्ष-महीने प्रारूप में आपकी तिथि और प्रारंभ-अवधि के बीच पारित 6-महीने के ब्लॉक की संख्या देगा।