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

MySQL में समय अंतर की गणना करना लेकिन घटनाओं को ध्यान में रखना

प्रत्येक प्रारंभ के लिए, अगली समाप्ति समय प्राप्त करने के लिए किसी क्वेरी का उपयोग करें। फिर, बस अंतर की गणना करें। तर्क कुछ इस प्रकार है:

select t.*, timestampdiff(second, dt, next_dt)
from (select t.*, addtime(t.date, t.time) as dt,
             (select addtime(t2.date, t2.time)
              from table t2
              where addtime(t2.date, t2.time) > addtime(t.date, t.time) and
                    status = 'end'
              order by addtime(t2.date, t2.time) desc
              limit 1
             ) as next_dt
      from table t
      where status = 'start'
     ) t

यह मानता है कि आपके दिनांक और समय कॉलम उचित डेटाबेस प्रकारों (date .) का उपयोग करके संग्रहीत किए जाते हैं और time ) यदि आप उन्हें किसी अन्य चीज़ के रूप में संग्रहीत कर रहे हैं, तो आपको उन्हें आंतरिक स्वरूपों में बदलने के लिए तर्क को अनावश्यक रूप से जटिल करना होगा।



  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 में बाएं शामिल क्वेरी द्वारा लौटाए गए सरणी डेटा को कैसे समूहित करें?

  2. एक कॉलम का चयन करना जो MySQL में भी एक कीवर्ड है

  3. यदि स्थिति क्वेरी निष्पादित करती है, अन्यथा अन्य क्वेरी निष्पादित करें

  4. PHP और MYSQL के लिए सबसे अच्छा खोज एल्गोरिदम क्या है?

  5. जब हमारे पास समग्र अनुक्रमणिका होती है तो क्या सामान्य MySql अनुक्रमणिका आवश्यक होती है?