Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

MYSQL:Tìm Dấu thời gian Bắt đầu và Kết thúc của một số đếm liên tiếp

Một cách là cung cấp một chỉ mục duy nhất của mỗi lần chạy / chuỗi và sau đó sử dụng GROUP BY để lấy dấu thời gian bắt đầu và kết thúc.

Của bạn đây:

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`

Làm việc fiddle: 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. Hiển thị kết quả truy vấn SQL trong php

  2. rắc rối với đối tượng PDO

  3. Hàm MySQL LOG () - Trả về Logarit tự nhiên của một giá trị

  4. django.core.exceptions.ImproperlyConfigured:Lỗi khi tải mô-đun MySQLdb:Không có mô-đun nào có tên MySQLdb

  5. Làm cách nào để phóng to Sơ đồ EER trong MySQL Workbench?