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

Oracle पर सशर्त योग

पुनरावर्ती SQL के विकल्प के रूप में, आप SQL MODEL . का भी उपयोग कर सकते हैं खंड। व्यक्तिगत रूप से, मुझे पुनरावर्ती SQL की तुलना में इसे पढ़ना थोड़ा आसान लगता है, हालाँकि इसे लिखना कठिन है (क्योंकि मेरे जैसे अधिकांश लोगों को वाक्य रचना को देखने की आवश्यकता है)।

-- "test_data" is just a substitute for your real table, which I don't have
-- it is just so people without your table can run this example and would
-- not be part of your real solution.
with test_data ( sort_col, addend ) as
( SELECT 'A', 3 FROM DUAL UNION ALL
 SELECT 'B', 7 FROM DUAL UNION ALL
 SELECT 'C', 6 FROM DUAL UNION ALL
 SELECT 'D', 5 FROM DUAL UNION ALL
 SELECT 'E', 9 FROM DUAL UNION ALL
 SELECT 'F', 3 FROM DUAL UNION ALL
 SELECT 'G', 8 FROM DUAL ),
-- Solution begins here
sorted_inputs ( sort_col, sort_order, addend, running_sum_max_15) as
( SELECT sort_col, row_number() over ( order by sort_col ) sort_order, addend, 0 from test_data )
SELECT sort_col, addend, running_sum_max_15
from sorted_inputs
model 
dimension by (sort_order)
measures ( sort_col, addend, running_sum_max_15 )
rules update
( running_sum_max_15[1] = addend[1],
  running_sum_max_15[sort_order>1] = 
          case when running_sum_max_15[CV(sort_order)-1] < 15 THEN 
             running_sum_max_15[CV(sort_order)-1] ELSE 0 END+addend[CV(sort_order)]
)

परिणाम

+----------+--------+--------------------+
| SORT_COL | ADDEND | RUNNING_SUM_MAX_15 |
+----------+--------+--------------------+
| A        |      3 |                  3 |
| B        |      7 |                 10 |
| C        |      6 |                 16 |
| D        |      5 |                  5 |
| E        |      9 |                 14 |
| F        |      3 |                 17 |
| G        |      8 |                  8 |
+----------+--------+--------------------+


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. मैं कैसे पुष्टि कर सकता हूं कि डेटाबेस Oracle है और यह किस संस्करण में SQL का उपयोग कर रहा है?

  2. क्या Oracle पूर्ण पाठ खोज का समर्थन करता है?

  3. हाइबरनेट, आईडी, ओरेकल, अनुक्रम

  4. आपके SOA परिवेश में Easysoft Oracle® ड्राइवर का परिचय

  5. अल्पविराम से अलग किए गए मानों को ऑरैकल में पंक्तियों में कैसे परिवर्तित करें?