Du kan bruge følgende forespørgsel:
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
Ovenstående forespørgsel bruger variabler for at identificere øer af på hinanden følgende poster med den samme browser
værdi. Den returnerer en enkelt række pr. browser. Du skal gentage den samme underforespørgsel to gange og bruge UNION
hvis du vil have to separate linjer for hver af min/max datoerne.