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

SQL Oracle काउंटिंग क्लस्टर्स

ORACLE में LEAD और LAG फ़ंक्शंस का उपयोग करके आप ये प्रश्न बना सकते हैं:

1. शटडाउन की संख्या:

WITH IntTable AS
( SELECT * FROM
  (
   SELECT dt b_date,value,LEAD(dt) OVER (ORDER BY dt) e_date  FROM
     (
        select "Date" dt,"Value" value,
               LAG("Value") OVER (ORDER BY "Date") pvalue,
               LEAD("Value") OVER (ORDER BY "Date") nvalue
        from T
     ) T1
     WHERE pvalue is NULL or value<>pvalue or nvalue is NULL 
   )
WHERE E_DATE is NOT NULL
)
SELECT COUNT(*) FROM IntTable where value = 0 

SQLFiddle डेमो

2.हर बंद के बीच की अवधि

WITH IntTable AS
( SELECT * FROM
  (
   SELECT dt b_date,value,LEAD(dt) OVER (ORDER BY dt) e_date  FROM
     (
        select "Date" dt,"Value" value,
               LAG("Value") OVER (ORDER BY "Date") pvalue,
               LEAD("Value") OVER (ORDER BY "Date") nvalue
        from T
     ) T1
     WHERE pvalue is NULL or value<>pvalue or nvalue is NULL 
   )
WHERE E_DATE is NOT NULL
)
SELECT b_date,e_date, (e_date-b_date) * 60 * 24 FROM IntTable where value = 1 

SQLFiddle डेमो



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. पुनरावर्ती सबक्वेरी फैक्टरिंग के साथ साइकिल का पता लगाना

  2. Oracle में डेटाबेस स्कीमा को डंप फ़ाइल में कैसे निर्यात करें

  3. Oracle में डुप्लिकेट पंक्तियों को हटाने के 2 तरीके

  4. ओरेकल एक बाधा खोजें

  5. Oracle SQL डेवलपर का उपयोग करके टेक्स्ट फ़ाइल में CLOB निर्यात करना