की बात समझ में आई GROUP BY x
लेकिन कैसे
GROUP BY x, y
काम करता है , और इसका क्या मतलब है?
की बात समझ में आई GROUP BY x
लेकिन कैसे
GROUP BY x, y
काम करता है , और इसका क्या मतलब है?
जवाबों:
Group By X
का अर्थ है उन सभी को एक समूह में X के लिए समान मान के साथ रखा जाए ।
Group By X, Y
का अर्थ है उन सभी को एक ही समूह में X और Y दोनों के लिए समान मानों के साथ रखना ।
एक उदाहरण का उपयोग करने के लिए, मान लें कि हमारे पास निम्नलिखित तालिका है, जो किसी विश्वविद्यालय में किस विषय में भाग ले रहा है:
Table: Subject_Selection
Subject Semester Attendee
---------------------------------
ITB001 1 John
ITB001 1 Bob
ITB001 1 Mickey
ITB001 2 Jenny
ITB001 2 James
MKB114 1 John
MKB114 1 Erica
जब आप group by
केवल विषय स्तंभ पर उपयोग करते हैं ; कहते हैं:
select Subject, Count(*)
from Subject_Selection
group by Subject
आपको कुछ ऐसा मिलेगा:
Subject Count
------------------------------
ITB001 5
MKB114 2
... क्योंकि ITB001 के लिए 5 प्रविष्टियाँ हैं, और MKB114 के लिए 2
यदि हम group by
दो कॉलम थे :
select Subject, Semester, Count(*)
from Subject_Selection
group by Subject, Semester
हमें यह मिलेगा:
Subject Semester Count
------------------------------
ITB001 1 3
ITB001 2 2
MKB114 1 2
ऐसा इसलिए है, क्योंकि जब हम दो स्तंभों के साथ समूह बनाते हैं, तो यह कह रहा है कि "उन्हें समूह बनाएं ताकि सभी एक ही विषय और सेमेस्टर के साथ एक ही समूह में हों, और फिर सभी कुल कार्यों (गणना, योग, औसत, आदि) की गणना करें। ) उन समूहों में से प्रत्येक के लिए " । इस उदाहरण में, यह इस तथ्य से प्रदर्शित होता है कि, जब हम उन्हें गिनते हैं, तो सेमेस्टर 1 में ITB001 करने वाले तीन लोग होते हैं , और दो इसे सेमेस्टर 2 में करते हैं। MKB114 करने वाले दोनों लोग 1 सेमेस्टर में हैं, इसलिए कोई नहीं है सेमेस्टर 2 के लिए पंक्ति (कोई डेटा समूह "MKB114, सेमेस्टर 2" में फिट नहीं है)
उम्मीद है कि समझ में आता है।
GROUP BY A,B
जैसा है वैसा ही है GROUP BY B,A
?
GROUP BY a, b
और GROUP BY a AND b
दूसरे के बाद से केवल एक ही सामग्री के साथ समूहीकृत वस्तुओं को सूचीबद्ध करता है और कोई "अंडरग्राउंड" नहीं है। इस मामले में आउटपुट पहले वाले की तरह ही होगा।
GROUP BY
खंड एक या अधिक स्तंभ द्वारा समूह के लिए कुल कार्यों के साथ संयोजन के रूप में प्रयोग किया जाता है परिणाम सेट। उदाहरण के लिए:
SELECT column_name, aggregate_function(column_name)
FROM table_name
WHERE column_name operator value
GROUP BY column_name;
इस आदेश को याद रखें:
1) का चयन करें (एक डेटाबेस से डेटा का चयन करने के लिए प्रयोग किया जाता है)
2) FROM (क्लॉज का उपयोग टेबल को सूचीबद्ध करने के लिए किया जाता है)
3) जहां (क्लॉज का इस्तेमाल रिकॉर्ड्स को फिल्टर करने के लिए किया जाता है)
4) ग्रुप बाय (क्लॉज का उपयोग कई रिकॉर्ड में डेटा एकत्र करने और परिणाम को एक या अधिक कॉलम के आधार पर चयन करने के लिए सेलेक्ट स्टेटमेंट में किया जा सकता है)
5) HAVING (क्लॉज का उपयोग ग्रुप BY क्लॉज के संयोजन में किया जाता है, केवल उन पंक्तियों के समूहों को प्रतिबंधित करने के लिए जिनकी स्थिति TRUE है)
6) आदेश BY (कीवर्ड का उपयोग परिणाम सेट करने के लिए किया जाता है)
यदि आप समग्र कार्यों का उपयोग कर रहे हैं, तो आप इन सभी का उपयोग कर सकते हैं, और यही क्रम है कि उन्हें सेट किया जाना चाहिए, अन्यथा आप एक त्रुटि प्राप्त कर सकते हैं।
सकल कार्य हैं:
MIN किसी दिए गए कॉलम में सबसे छोटा मान लौटाता है
SUM किसी दिए गए कॉलम में संख्यात्मक मानों का योग देता है
AVG किसी दिए गए कॉलम का औसत मान लौटाता है
COUNT दिए गए कॉलम में मानों की कुल संख्या लौटाता है
COUNT (*) किसी तालिका में पंक्तियों की संख्या लौटाता है