आप निम्न क्वेरी का उपयोग कर सकते हैं:
SELECT MIN(current_day) AS start_day,
MAX(current_day) AS stop_day,
browser
FROM (
SELECT current_day, browser,
@grp := IF(@br = browser, @grp,
IF(@br := browser, @grp+1, @grp+1)) AS grp
FROM mytable
CROSS JOIN (SELECT @grp := 0, @br := '') AS vars
ORDER BY current_day) AS t
GROUP BY browser, grp
समान browser
. वाले लगातार रिकॉर्ड वाले द्वीपों की पहचान करने के लिए उपरोक्त क्वेरी चर का उपयोग करती है मूल्य। यह प्रति ब्राउज़र एक पंक्ति देता है। आपको एक ही सबक्वेरी को दो बार दोहराना होगा और UNION
का उपयोग करना होगा यदि आप दो प्राप्त करना चाहते हैं प्रत्येक न्यूनतम/अधिकतम तिथियों के लिए अलग लाइनें।