sql >> Databáze >  >> RDS >> Mysql

MYSQL:Najděte počáteční a koncové časové razítko po sobě jdoucího počtu

Jedním ze způsobů je zadat jedinečný index každého běhu/série a poté použít GROUP BY k získání počátečního a koncového časového razítka.

Tady to 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`

Pracovní housle:http://sqlfiddle.com/#!2/f5f19c/3



  1. Jak mohu použít mysql v C++?

  2. BCP nevrací žádné chyby, ale také nekopíruje žádné řádky

  3. Agregační funkce nejsou v rekurzivním dotazu povoleny. Existuje alternativní způsob, jak napsat tento dotaz?

  4. Řetězec je zkrácen na délku, ale není povoleno sekání slov