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

क्वार्टर से पीरियड्स तक MySQL ग्रुप

यह एक अंतराल और द्वीपों की समस्या है। आप इसे विंडो फ़ंक्शंस (केवल MySQL 8.0 में उपलब्ध) के साथ हल कर सकते हैं:

select 
    person,
    min(act_date) start_date,
    max(act_date) end_date
from (
    select
        t.*,
        sum(act_date <> lag_act_date + interval 15 minute)
            over(partition by person order by act_date) grp
    from (
        select 
            t.*,
            lag(act_date) 
                over(partition by person order by act_date) lag_act_date
        from mytable t
    ) t
) t
group by person, grp
order by min(act_date)

एक संचयी राशि का उपयोग करके आसन्न रिकॉर्ड के समूह बनाने का विचार है:हर बार एक अंतराल होता है जो 15 मिनट नहीं होता है, योग वृद्धि।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. यदि मैं WHERE का उपयोग कर सकता हूं तो मुझे विदेशी कुंजी का उपयोग करने की आवश्यकता क्यों है?

  2. PHP त्रुटि:एक गैर-ऑब्जेक्ट पर सदस्य फ़ंक्शन पंक्ति गणना () पर कॉल करें

  3. कैसे अद्वितीय बाधा का उल्लंघन किए बिना MySQL में दो पंक्तियों के मूल्यों को स्वैप करने के लिए?

  4. mysql-अजगर स्थापित करें (विंडोज़)

  5. MySQL ट्रिगर किसी अन्य तालिका में सम्मिलित करें