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

समूह पंक्तियाँ यदि उनमें अतिव्यापी समय अंतराल है

WITH C1 AS (
SELECT *,
  CASE 
WHEN start_time <= MAX(IFnull(end_time,'9999-12-31 00:00:00.000')) OVER(
  partition by id
  ORDER BY start_time 
  ROWS BETWEEN UNBOUNDED PRECEDING AND 1 PRECEDING
  ) 
  THEN 0 
  ELSE 1 
END AS isstart
FROM activity
) 
SELECT ID,start_time,end_time,
   SUM(isstart) OVER(partition by id ORDER BY ID ROWS UNBOUNDED PRECEDING) AS DG 
FROM C1;

यह आपके लिए काम करना चाहिए



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. java.sql.SQLException:कोई डेटाबेस नहीं चुना गया - क्यों?

  2. निष्पादन से पहले और कोडनिर्देशक सक्रिय रिकॉर्ड में निष्पादन के बिना इको क्वेरी

  3. जॉइन के अंदर DISTINCT का उपयोग करना परेशानी पैदा कर रहा है

  4. Mysql - दूसरा auto_increment col अलग व्यवहार के साथ

  5. जावा दिनांक रूपांतरण के लिए MySQL टाइमस्टैम्प