Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

MYSQL:Temukan Stempel Waktu Mulai dan Akhir dari hitungan berturut-turut

Salah satu caranya adalah dengan memberikan indeks unik dari setiap run/seri lalu gunakan GROUP BY untuk mendapatkan stempel waktu mulai dan berakhir.

Ini dia:

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`

Biola yang berfungsi: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. Nomor baris per grup di mysql

  2. PHP Pilih dari MySQL di mana bidang tanggal adalah 7 hari ke depan

  3. sql saya pilih dari beberapa tabel vs bergabung

  4. Kolom Tidak Dikenal dalam Daftar Bidang. PHP + MySQL

  5. String kosong memasukkan nol, bukan nol