जब बड़ी मात्रा में डेटा मौजूद होता है, तो हम अक्सर अपनी आवश्यकताओं के अनुसार डेटा में हेरफेर करने की संभावना देखते हैं। ग्रुप बाय क्लॉज SQL में एक ऐसा स्टेटमेंट है, जिसका इस्तेमाल कुछ कॉलम या शर्तों के आधार पर डेटा को ग्रुप करने के लिए किया जाता है। SQL ग्रुप बाय स्टेटमेंट पर इस लेख में, मैं निम्नलिखित क्रम में ग्रुप बाय स्टेटमेंट का उपयोग करने के कुछ तरीकों पर चर्चा करूंगा:
- ग्रुप बाय स्टेटमेंट
- वाक्यविन्यास
- उदाहरण:
- एकल कॉलम पर ग्रुप बाय का प्रयोग करें
- एकाधिक कॉलम पर ग्रुप बाय
- आदेश के साथ GROUP BY का उपयोग करें
- होविंग क्लॉज के साथ ग्रुप बाय
- जॉइन के साथ ग्रुप बाय का उपयोग करें
इससे पहले कि हम GROUP BY क्लॉज का उपयोग करने के उदाहरणों पर आगे बढ़ें, आइए समझते हैं कि SQL में GROUP BY क्या है और इसका सिंटैक्स क्या है।
एसक्यूएल ग्रुप बाय स्टेटमेंट
इस कथन का उपयोग समान मान वाले रिकॉर्ड को समूहीकृत करने के लिए किया जाता है। परिणामों को एक या अधिक स्तंभों द्वारा समूहित करने के लिए GROUP BY कथन का उपयोग अक्सर समग्र कार्यों के साथ किया जाता है। इसके अलावा, GROUP BY क्लॉज का उपयोग HAVING क्लॉज के साथ भी किया जाता है और JOINS को शर्तों के आधार पर सेट किए गए परिणाम को समूहीकृत करने के लिए उपयोग किया जाता है।
एसक्यूएल ग्रुप बाय सिंटेक्स
SELECT Column1, Column2,..., ColumnN FROM TableName WHERE Condition GROUP BY ColumnName(s) ORDER BY ColumnName(s);
यहां, आप कॉलम नामों से पहले एग्रीगेट फ़ंक्शन जोड़ सकते हैं, और एक शर्त का उल्लेख करने के लिए स्टेटमेंट के अंत में एक HAVING क्लॉज भी जोड़ सकते हैं। अगला, SQL GROUP BY पर इस लेख में, आइए समझते हैं कि इस कथन को कैसे लागू किया जाए।
उदाहरण:
आपकी बेहतर समझ के लिए, मैंने उदाहरणों को निम्नलिखित अनुभागों में विभाजित किया है:
- एकल कॉलम पर ग्रुप बाय का प्रयोग करें
- एकाधिक कॉलम पर ग्रुप बाय
- आदेश के साथ GROUP BY का उपयोग करें
- होविंग क्लॉज के साथ ग्रुप बाय
- जॉइन के साथ ग्रुप बाय का उपयोग करें
मैं आपको उदाहरणों को समझाने के लिए निम्न तालिका पर विचार करने जा रहा हूं:
EmpID | EmpName | EmpEmail | फ़ोन नंबर | वेतन | शहर |
1 | निधि | 9955669999 | 50000 | मुंबई | |
2 | अनय | 9875679861 | 55000 | पुणे | |
3 | राहुल | 9876543212 | 35000 | दिल्ली | |
4 | सोनिया | 9876543234 | 35000 | दिल्ली | |
5 | आकाश | 9866865686 | 25000 | मुंबई |
आइए हम उनमें से प्रत्येक पर एक नज़र डालें।
एसक्यूएल ग्रुप बाय का इस्तेमाल सिंगल कॉलम पर करें
उदाहरण:
प्रत्येक शहर में कर्मचारियों की संख्या प्राप्त करने के लिए एक प्रश्न लिखें।
SELECT COUNT(EmpID), City FROM Employees GROUP BY City;
आउटपुट:
आप निम्न आउटपुट देखेंगे:
गणना(EmpID) | शहर |
2 | दिल्ली |
2 | मुंबई |
1 | पुणे |
एकाधिक स्तंभों पर SQL GROUP BY का उपयोग करें
उदाहरण:
हर शहर में अलग-अलग वेतन पाने वाले कर्मचारियों की संख्या जानने के लिए एक प्रश्न लिखें।
SELECT City, Salary, Count(*) FROM Employees GROUP BY City, Salary;
आउटपुट:
तालिका में निम्न डेटा होगा:
शहर | वेतन | गिनती(*) |
दिल्ली | 35000 | 2 |
मुंबई | 25000 | 1 |
मुंबई | 50000 | 1 |
पुणे | 55000 | 1 |
एसक्यूएल ग्रुप बाय का उपयोग ऑर्डर बाय के साथ करें
जब हम ORDER BY क्लॉज के साथ SQL GROUP BY स्टेटमेंट का उपयोग करते हैं, तो मान आरोही या अवरोही क्रम में क्रमबद्ध हो जाते हैं।
उदाहरण:
प्रत्येक शहर में कर्मचारियों की संख्या को अवरोही क्रम में क्रमबद्ध करने के लिए एक प्रश्न लिखें।
SELECT COUNT(EmpID), City FROM Employees GROUP BY City ORDER BY COUNT(EmpID) DESC;
आउटपुट:
तालिका में निम्न डेटा होगा:
गणना(EmpID) | शहर |
2 | दिल्ली |
2 | मुंबई |
1 | पुणे |
HAVING क्लॉज के साथ SQL GROUP BY का उपयोग करें
SQL GROUP BY स्टेटमेंट का उपयोग समूहों पर शर्तों का उल्लेख करने के लिए 'HAVING' क्लॉज के साथ किया जाता है। साथ ही, चूंकि हम WHERE क्लॉज के साथ एग्रीगेट फ़ंक्शंस का उपयोग नहीं कर सकते हैं, इसलिए हमें GROUP BY के साथ एग्रीगेट फ़ंक्शंस का उपयोग करने के लिए 'HAVING' क्लॉज़ का उपयोग करना होगा।
उदाहरण:
प्रत्येक शहर में कर्मचारियों की संख्या प्राप्त करने के लिए एक प्रश्न लिखें, वेतन> 15000
SELECT COUNT(EmpID), City FROM Employees GROUP BY City HAVING SALARY > 15000;
आउटपुट:
चूंकि कर्मचारी तालिका में सभी रिकॉर्ड हैं, वेतन> 15000 है, हम निम्न तालिका को आउटपुट के रूप में देखेंगे:
गणना(EmpID) | शहर |
2 | दिल्ली |
2 | मुंबई |
1 | पुणे |
जॉइन के साथ ग्रुप बाय का उपयोग करें
JOINS SQL कथन हैं जिनका उपयोग उन तालिकाओं के बीच संबंधित कॉलम के आधार पर दो या अधिक तालिकाओं से पंक्तियों को संयोजित करने के लिए किया जाता है। हम कॉलम/कॉलम के आधार पर परिणाम सेट को समूहीकृत करने के लिए SQL ग्रुप बाय स्टेटमेंट का उपयोग कर सकते हैं। एसक्यूएल ग्रुप बाय क्लॉज के साथ जॉइन स्टेटमेंट को निष्पादित करने के लिए नीचे दी गई तालिकाओं पर विचार करें।
परियोजना तालिका:
ProjectID | EmpID | ClientID | ProjectDate |
2345 | 1 | 4 | 26-01-2019 |
9876 | 2 | 5 | 28-02-2019 |
3456 | 3 | 6 | 12-03-2019 |
ग्राहक तालिका:
ClientID | क्लाइंटनाम |
4 | संजना |
5 | रोहन |
6 | अरुण |
उदाहरण
प्रत्येक क्लाइंट द्वारा अनुरोधित परियोजनाओं की संख्या को सूचीबद्ध करने के लिए एक प्रश्न लिखें:
SELECT Clients.ClientName, COUNT(Projects.ProjectID) AS RequestedProjects FROM Projects LEFT JOIN Clients ON Projects.ProjectID = Clients.ProjectID GROUP BY ClientName;
आउटपुट:
तालिका में निम्न डेटा होगा:
क्लाइंटनाम | अनुरोधित परियोजनाएं |
अरुण | 1 |
रोहन | 1 |
संजना | 1 |
इसी के साथ, हम SQL GROUP BY लेख को समाप्त करते हैं। इसे देखें MySQL DBA प्रमाणन प्रशिक्षण एडुरेका द्वारा, एक नेटवर्क के साथ एक विश्वसनीय ऑनलाइन शिक्षण कंपनी oदुनिया भर में फैले 250,000 से अधिक संतुष्ट शिक्षार्थी। यह कोर्स आपको डेटा को प्रबंधित करने और MySQL डेटाबेस को प्रबंधित करने के लिए मूल अवधारणाओं और उन्नत टूल और तकनीकों पर प्रशिक्षित करता है। इसमें MySQL वर्कबेंच, MySQL सर्वर, डेटा मॉडलिंग, MySQL कनेक्टर, डेटाबेस डिज़ाइन, MySQL कमांड लाइन, MySQL फ़ंक्शंस इत्यादि जैसी अवधारणाओं पर हाथों से सीखना शामिल है। प्रशिक्षण के अंत में आप अपना खुद का MySQL डेटाबेस बनाने और प्रशासित करने में सक्षम होंगे और डेटा प्रबंधित करें।
हमारे लिए एक प्रश्न है? कृपया इस "एसक्यूएल ग्रुप बाय" लेख के टिप्पणी अनुभाग में इसका उल्लेख करें और हम जल्द से जल्द आपसे संपर्क करेंगे।