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

Tổng số phạm vi ngày giờ trùng lặp trong MySQL

SELECT
  COUNT(*) as occurrence
  , sub.event_id
  , SEC_TO_TIME(SUM(LEAST(e1end, e2end) - GREATEST(e1start, e2start)))) as duration
FROM
  (  SELECT  
      , e1.event_id
      , UNIX_TIMESTAMP(e1.starttime) as e1start
      , UNIX_TIMESTAMP(e1.endtime) as e1end
      , UNIX_TIMESTAMP(e2.starttime) as e2start
      , UNIX_TIMESTAMP(e2.endtime) as e2end
    FROM events e1
    INNER JOIN events e2 
      ON (e1.eventtype = e2.eventtype AND e1.id <> e2.id
      AND NOT(e1.starttime > e2.endtime OR e1.endtime < e2.starttime))
  ) sub
GROUP BY sub.event_id 
ORDER BY occurrence DESC



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. cách lấy vị trí của các hàng đã sắp xếp bằng cách sử dụng mysql và php

  2. Mã lỗi:1822 khi các kiểu dữ liệu khớp với nhau, với khóa tổng hợp

  3. số mysql vào biến PHP

  4. Chuyển đổi ngày từ yyyy-mm-dd sang dd month_name năm

  5. Doctrine2 ManyToMany-Relations không lưu