Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

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. MySQL जॉइन/GROUP_CONCAT दूसरी टेबल?

  2. सत्र_सेट_सेव_हैंडलर सेटिंग नहीं कर रहा है

  3. हाइबरनेट - कई टूवन और इनहेरिटेंस / जॉइन / मैप किया गया

  4. MySQL 8 के लिए हाइबरनेट बोली?

  5. MySQL:एक बड़ी तालिका को विभाजन या अलग तालिकाओं में विभाजित करना?