Mysql
 sql >> база данни >  >> RDS >> Mysql

MYSQL:Намиране на начален и краен времеви печат на последователен брой

Един от начините е да дадете уникален индекс на всяко изпълнение/серия и след това да използвате ГРУПИРАНЕ ПО, за да получите начални и крайни времеви клейма.

Ето го:

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



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Избиране на "следващия" ред при определени критерии в MySQL

  2. session_start Изхвърля фатална грешка

  3. създайте mysql таблица, ако тя не съществува

  4. MYSQL с помощта на пространствен индекс

  5. Използват ли се транзакциите XA/JTA все още?