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

समूह कार्यों का उपयोग करके डेटा एकत्र करना (ओरेकल द्वारा समूह)

Oracle SQL ट्यूटोरियल सीखने के भाग के रूप में, यहाँ oracle द्वारा समूह के बारे में अच्छी जानकारी दी गई है

एकल मान फ़ंक्शन के विपरीत समूह कार्य पंक्तियों के सेट पर काम करते हैं और प्रति समूह एक पंक्ति लौटाते हैं। पंक्तियों का समूह एक संपूर्ण तालिका या समूहों में विभाजित तालिका हो सकती है

Oracle में ग्रुप फंक्शन के प्रकारों में शामिल हैं:

औसत([विशिष्ट/सभी]  n) केवल संख्यात्मक डेटा प्रकार। कॉलम का औसत मान n शून्य मानों को अनदेखा कर रहा है
COUNT({*/[Distinct/all]expr}) यह केवल एक समूह फ़ंक्शन है जिसमें शून्य मान शामिल हैं। यह सेलेक्ट स्टेटमेंट में पंक्तियों की संख्या की गणना करता है जो कि क्लॉज को संतुष्ट करता है। गणना (*) में सभी शून्य और डुप्लिकेट मान शामिल हैं
MAX([Distinct/all]  expr) यह किसी भी डेटा प्रकार के साथ उपयोग कर सकता है। यह शून्य मानों को अनदेखा करते हुए expr का अधिकतम मान देता है
मिनट([विशिष्ट/सभी]  expr) यह किसी भी डेटाटाइप के साथ उपयोग कर सकता है। . यह शून्य मानों को अनदेखा करते हुए expr का न्यूनतम मान देता है
STDDEV([विशिष्ट/सभी]  n) केवल संख्यात्मक डेटा प्रकार। यह शून्य मानों की अनदेखी करते हुए n का मानक विचलन देता है
SUM ([विशिष्ट/सभी]  n) केवल संख्यात्मक डेटा प्रकार और फ़ंक्शन में अन्य अंकगणितीय ऑपरेटर नहीं हो सकते हैं। यह शून्य मानों को अनदेखा करते हुए n का योग प्रदान करता है
भिन्नता([विशिष्ट/सभी]  n) केवल संख्यात्मक डेटा प्रकार। यह शून्य मानों की अनदेखी करते हुए n का विचरण देता है

वाक्यविन्यास:

सिलेक्ट col1, col2, … col_n,aggregate_function (एग्रीगेट_एक्सप्रेशन)टेबल्स से[जहां शर्तें]ग्रुप बाय col1, col2, … col_nग्रुप कंडीशन होने पर;

Oracle सर्वर ने निम्न चरणों का पालन किया

  • जहां क्लॉज के आधार पर सबसे पहले पंक्तियों का चयन किया जाता है
  • पंक्तियों को समूहीकृत किया जाता है
  • समूह फ़ंक्शन प्रत्येक समूह पर लागू होता है
  • होइंग क्लॉज में मानदंड से मेल खाने वाला समूह प्रदर्शित होता है

तो पहले WHERE क्लॉज का मूल्यांकन किया जाता है (क्वेरी परिणामों को प्रतिबंधित करता है), फिर ग्रुप बाय क्लॉज (WHERE के परिणामों को समूहित करता है), फिर HAVING क्लॉज (वापस किए गए समूहों को प्रतिबंधित करके, परिणामों को और प्रतिबंधित करता है)।

ओरेकल द्वारा समूह के बारे में कुछ महत्वपूर्ण बिंदु

(1) ग्रुप बाय:डेटा की एक बड़ी तालिका से समूह कार्यों के परिणामों को छोटे तार्किक समूहों में विभाजित करता है।

(2) जहां क्लॉज किसी समूह को प्रतिबंधित नहीं कर सकता है, इसलिए HAVING क्लॉज का उपयोग करें।

(3) ग्रुप बाय क्लॉज में कॉलम उपनाम का प्रयोग न करें।

(4) होना:उन समूहों के प्रदर्शन को प्रतिबंधित करता है जिनके पास निर्दिष्ट शर्तें हैं।

(5) एनवीएल फ़ंक्शन ग्रुप बाय फ़ंक्शन को इसकी गणना में शून्य मान शामिल करने की अनुमति देता है।

(6) चयन सूची में कोई भी कॉलम या अभिव्यक्ति जो एक समग्र कार्य नहीं है, समूह में होना चाहिए

Oracle में समूह कार्यों के उदाहरण

आइए पहले नमूना तालिकाएँ बनाएँ और फिर समूह को oracle sql द्वारा आज़माएँ

तालिका "DEPT"("DEPTNO" NUMBER(2,0),"DNAME" VARCHAR2(14), "LOC" VARCHAR2(13), CONSTRAINT "PK_DEPT" PRIMARY KEY ("DEPTNO")) CREATE TABLE " EMP"("EMPNO" NUMBER(4,0),"ENAME" VARCHAR2(10), "JOB" VARCHAR2(9),"MGR" NUMBER(4,0),"HIREDATE" DATE,"SAL" NUMBER(7 ,2),"COMM" NUMBER(7,2),"DEPTNO" NUMBER(2,0), CONSTRAINT "PK_EMP" प्राथमिक कुंजी ("EMPNO"), CONSTRAINT "FK_DEPTNO" विदेशी कुंजी ("DEPTNO") संदर्भ "DEPT "(" DEPTNO ") सक्षम); डीईपी मूल्यों में डालें (10, 'लेखा', 'न्यू यॉर्क'); विभाग मूल्यों में डालें (20, 'अनुसंधान', 'डलास'); विभाग मूल्यों में डालें (30, ' अनुसंधान', 'दिल्ली'); विभाग मूल्यों में डालें (40, 'अनुसंधान', 'मुंबई'); emp मानों में डालें (7698, 'ब्लेक', 'मैनेजर', 7839, to_date ('1-5-2007') ,'dd-mm-yyyy'), 2850, null, 10); emp मानों में डालें (7782, 'क्लार्क', 'मैनेजर', 7839, to_date ('9-6-2008', 'dd-mm-yyyy) '), 2450, शून्य, 10); emp मानों में डालें (7788, 'स्कॉट', 'विश्लेषण', 7566, to_date ('9-6-2012', 'dd-mm-yyyy'), 3000, शून्य, 20); emp मानों में डालें (7789, 'TPM', 'ANALYST', 75 66, to_date ('9-6-2017', 'dd-mm-yyyy'), 3000, null, null ); emp मानों में डालें (7560, 'T1OM', 'ANALYST', 7567, to_date ('9-) 7-2017','dd-mm-yyyy'), 4000, null, 20); emp मानों में डालें (7790, 'TOM', 'ANALYST', 7567, to_date('9-7-2017','dd) -mm-yyyy'), 4000, null, null );commit;Emp से * चुनें;

एकल स्तंभ

विभाग द्वारा एम्प समूह से विभाग, औसत (सैल)   चुनें;

एकाधिक कॉलम

deptno,job,sum(sal) emp group से deptno,job द्वारा चुनें

गणना फ़ंक्शन

चुनें 

न्यूनतम कार्य

एम्प से "न्यूनतम वेतन" के रूप में विभाग, मिन(सैल) का चयन करें 
विभाग द्वारा समूह;

आशा है आपको यह लेख पसंद आया होगा

संबंधित लेख
ओरेकल में विश्लेषणात्मक कार्य:ओरेकल विश्लेषणात्मक कार्य ओरेकल क्लॉज द्वारा अधिक विभाजन का उपयोग करके पंक्तियों के समूह के आधार पर एक समग्र मूल्य की गणना करते हैं, वे कुल कार्यों से भिन्न होते हैं
ओरेकल में रैंक:रैंक, DENSE_RANK और ROW_NUMBER ओरेकल विश्लेषणात्मक हैं फ़ंक्शन जो पंक्तियों के समूह में पंक्तियों को रैंक करने के लिए उपयोग किया जाता है जिसे विंडो कहा जाता है
ओरेकल में लीड फ़ंक्शन:ओरेकल में एलएजी फ़ंक्शन और ओरेकल में लीड फ़ंक्शन देखें, विश्लेषणात्मक प्रश्नों में उनका उपयोग कैसे करें और यह ओरेकल एसक्यूएल में कैसे काम करता है
br/>Oracle में Top-N प्रश्न:Oracle में Top-N प्रश्नों को प्राप्त करने के विभिन्न तरीकों की खोज पर और oracle क्वेरी oracle डेटाबेस में पृष्ठांकन पर इस पृष्ठ को देखें।


  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. ओरेकल के लिए एमएस एक्सेस आसान रूपांतरण/माइग्रेशन

  4. HTML5 और CSS3 के लिए ब्लॉगिंग शुरू करना

  5. SQL डेवलपर प्रारंभ नहीं होगा