परिदृश्य:
आप SQL सर्वर डेवलपर के रूप में काम कर रहे हैं। आपके पास एक dbo.Customer तालिका है जिसमें CountryShortName और SaleAmount है। आपको एक प्रश्न लिखने के लिए कहा जाता है, जो कि SaleAmount का योग, कंट्रीशॉर्टनाम द्वारा रिकॉर्ड की संख्या लौटाना चाहिए।
समाधान:
समूह द्वारा खंड का उपयोग अक्सर कुल कार्यों जैसे योग, औसत, गणना, अधिकतम, न्यूनतम के साथ कॉलम/एस द्वारा निर्धारित परिणाम को समूहित करने के लिए किया जाता है। आइए कुछ डेटा के साथ हमारी नमूना तालिका बनाएं और समूह के साथ हमारी क्वेरी लिखें हमारे प्रश्न का उत्तर दें।Create table dbo.Customer (Id int, FName VARCHAR(50), LName VARCHAR(50), CountryShortName CHAR(2), SaleAmount Int) GO --Insert Rows in dbo.Customer Table insert into dbo.Customer Values ( 1,'Raza','M','PK',10), (2,'Rita','John','US',12), (3,'Sukhi','Singh',Null,25), (4,'James','Smith','CA',60), (5,'Robert','Ladson','US',54), (6,'Alice','John','US',87), (6,'John',Null,'US',Null)
आइए क्लॉज द्वारा सम, काउंट और ग्रुप का उपयोग करके अपनी क्वेरी लिखें
SELECT Sum(saleamount) AS TotalSaleByCountry, Count(*) AS RecordCountByCountry, countryshortname FROM dbo.customer GROUP BY countryshortname
एसक्यूएल सर्वर में ग्रुप बाय क्लॉज का उपयोग कैसे करें
आप समूह दर खंड में कई स्तंभों का भी उपयोग कर सकते हैं। इस बारे में सोचें कि क्या हमारी तालिका में राज्य होंगे और आप CountryShortName और State द्वारा समूहित करना चाहते हैं, आप नीचे दिखाए गए अनुसार राज्य को क्वेरी में शामिल करना आसान होगा।
SELECT Sum(saleamount) AS TotalSaleByCountry, Count(*) AS RecordCountByCountry, countryshortname,
[State] FROM dbo.customer GROUP BY countryshortname,[State]
Video Demo: What is Group by Clause in SQL Server