Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MYSQL:Start- und Endzeitstempel einer aufeinanderfolgenden Zählung finden

Eine Möglichkeit besteht darin, jedem Lauf / jeder Serie einen eindeutigen Index zu geben und dann GROUP BY zu verwenden, um Start- und Endzeitstempel zu erhalten.

Bitte schön:

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`

Arbeitsfiddle:http://sqlfiddle.com/#!2/f5f19c/3