次のクエリを使用できます:
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
を持つ連続したレコードのアイランドを識別するために変数を使用します 価値。ブラウザごとに1行を返します。同じサブクエリを2回繰り返し、UNION
を使用する必要があります。 2つを取得したい場合 最小/最大の日付ごとに別々の行。