Du kan använda följande fråga:
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
Ovanstående fråga använder variabler för att identifiera öar med på varandra följande poster som har samma browser
värde. Den returnerar en enda rad per webbläsare. Du måste upprepa samma underfråga två gånger och använda UNION
om du vill skaffa två separata rader för vart och ett av min/max datum.