sql >> Databasteknik >  >> RDS >> Mysql

MYSQL:Hitta start- och sluttidsstämpel för en på varandra följande räkning

Ett sätt är att ge ett unikt index för varje körning/serie och sedan använda GROUP BY för att få start- och sluttidsstämplar.

Varsågod:

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`

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



  1. Hur man visar filtrerad data i JFreeChart

  2. Hur man får poster från de senaste 30 dagarna

  3. CHAR semantik och ORA-01461

  4. Hur testar man om JDBC-drivrutinen är korrekt installerad och om DB:n kan anslutas?