sql >> Database >  >> RDS >> Mysql

MYSQL:Vind begin- en eindtijdstempel van een opeenvolgende telling

Een manier is om een ​​unieke index van elke run / serie te geven en vervolgens GROUP BY te gebruiken om begin- en eindtijdstempels te krijgen.

Hier ga je:

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`

Werkende viool:http://sqlfiddle.com/#!2/f5f19c/3



  1. Invoegen waar niet bestaat - zonder primaire sleutel

  2. Hoe maak je een if-statement binnen echo in PHP MySQLi

  3. Hoe kan ik een veld groeperen met mysql?

  4. Biedt de mysql CLI-tool een manier om binaire gegevens op een consolevriendelijke manier weer te geven?