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

पहली और आखिरी घटना के आधार पर समूह

आप निम्न क्वेरी का उपयोग कर सकते हैं:

SELECT MIN(current_day) AS start_day, 
       MAX(current_day) AS stop_day, 
       browser
FROM (
   SELECT current_day, browser,
          @grp := IF(@br = browser, @grp,
                     IF(@br := browser, @grp+1, @grp+1)) AS grp
   FROM mytable 
   CROSS JOIN (SELECT @grp := 0, @br := '') AS vars
   ORDER BY current_day) AS t
GROUP BY browser, grp

समान browser . वाले लगातार रिकॉर्ड वाले द्वीपों की पहचान करने के लिए उपरोक्त क्वेरी चर का उपयोग करती है मूल्य। यह प्रति ब्राउज़र एक पंक्ति देता है। आपको एक ही सबक्वेरी को दो बार दोहराना होगा और UNION का उपयोग करना होगा यदि आप दो प्राप्त करना चाहते हैं प्रत्येक न्यूनतम/अधिकतम तिथियों के लिए अलग लाइनें।

यहां डेमो करें



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PHP और MySQL का उपयोग करके संबंधित या समान पोस्ट बनाना

  2. PHP में -> और ::के बीच अंतर MySQLi OOP

  3. मैं विजुअल स्टूडियो 2010 में MySQL 5.1 से कैसे जुड़ूं?

  4. दिए गए अनुक्रमणिका द्वारा बहु-आयामी ऐरे को क्रमबद्ध करें - PHP?

  5. PHP कुछ परिस्थितियों में mysql कंटेनर नाम को हल नहीं कर सकता