एक तरीका यह है कि प्रत्येक रन/श्रृंखला की एक अनूठी अनुक्रमणिका दी जाए और फिर टाइमस्टैम्प शुरू करने और समाप्त करने के लिए GROUP BY का उपयोग किया जाए।
ये रहा:
SELECT COUNT(*), MIN(time_stamp) AS starttime, MAX(time_stamp) AS endtime
FROM (
SELECT IF(@prev <> marker, @s:[email protected]+1, @s:[email protected]) AS `index`,
time_stamp, @prev:=marker marker
FROM
tbl, (SELECT @s:= 0, @prev:= -1) s
) tmp
WHERE marker = 1
GROUP BY `index`
वर्किंग फिडेल:http://sqlfiddle.com/#!2/f5f19c/3