कई COLUMN और अभिव्यक्तियों से समूह बनाना
संयुक्त समूह-कुंजियाँ और परिकलित मानों पर समूह बनाना सीखें
कई COLUMN और अभिव्यक्तियों से समूह बनाना, CoddyKit पर SQL साक्षात्कार की तैयारी का एक निःशुल्क पाठ है। यह 4 में से 3वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह SQL साक्षात्कार की तैयारी सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। SQL साक्षात्कार की तैयारी पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
एकल समूहीकरण कुंजी से आगे
वास्तविक रिपोर्टें बहुत कम ही केवल एक कॉलम पर समूहित होती हैं। साक्षात्कारकर्ता 'क्षेत्र के अनुसार बिक्री' से 'क्षेत्र और महीने के अनुसार बिक्री' तक जाते हैं, ताकि यह देखा जा सके कि आप संयुक्त समूहीकरण कुंजियों को समझते हैं या नहीं।
नियम आसानी से लागू होता है: GROUP BY में अधिक कॉलम लिखने से उन कॉलमों के हर अलग संयोजन के लिए एक पंक्ति बनती है।
कई कॉलमों का अर्थ
जब आप GROUP BY region, product लिखते हैं, तो समूह-कुंजी युग्म (region, product) होता है। हर अनोखा युग्म एक आउटपुट पंक्ति बन जाता है।
- 5 क्षेत्र और 4 उत्पाद अधिकतम 20 समूह बना सकते हैं।
- जो संयोजन कभी मौजूद ही नहीं होते, उनके लिए कोई पंक्ति नहीं बनती।
- GROUP BY में कॉलमों का क्रम परिणाम-समूह को नहीं बदलता, केवल कभी-कभी निष्पादन योजना को बदलता है।
SELECT region, product, SUM(amount) AS total
FROM sales
GROUP BY region, product;SELECT के नियम का पालन अभी भी कीजिए
मुख्य प्रतिबंध में कोई ढील नहीं आती। SELECT का हर गैर-समेकित कॉलम GROUP BY में होना चाहिए। संयुक्त कुंजियों के साथ आपको बस उन सभी कॉलमों की सूची देनी होती है।
बहु-कुंजी समूह में एक कॉलम भूल जाना साक्षात्कार के दबाव में होने वाली सबसे सामान्य चूक है। GROUP BY की सूची को गैर-समेकित SELECT कॉलमों से बिल्कुल मिलाइए।
-- Both region and product appear in GROUP BY
SELECT region, product,
COUNT(*) AS orders,
AVG(amount) AS avg_amount
FROM sales
GROUP BY region, product;किसी अभिव्यक्ति के अनुसार समूहीकरण
आप केवल मूल कॉलम के अनुसार ही नहीं, बल्कि गणना किए गए मान के अनुसार भी समूह बना सकते हैं। एक सामान्य प्रश्न बिक्री को महीने के अनुसार समूहित करने का होता है, जिसका अर्थ है किसी काटी या निकाली गई तारीख के अनुसार समूहित करना।
GROUP BY में दी गई अभिव्यक्ति SELECT की अभिव्यक्ति से मेल खानी चाहिए। डेटाबेस प्रणाली गणना किए गए परिणाम के अनुसार समूह बनाती है।
SELECT DATE_TRUNC('month', order_date) AS month,
SUM(amount) AS monthly_total
FROM sales
GROUP BY DATE_TRUNC('month', order_date);CASE बकेट के साथ समूहीकरण
एक शक्तिशाली तरीका है: कस्टम बकेट बनाने के लिए CASE अभिव्यक्ति के अनुसार समूह बनाइए। लुकअप तालिका के बिना 'छोटे / मध्यम / बड़े ऑर्डर' का सारांश इसी तरह बनाया जाता है।
साक्षात्कारकर्ताओं को यह पसंद आता है, क्योंकि इससे CASE तर्क और निकाले गए मान के अनुसार समूहीकरण, दोनों की एक साथ जाँच होती है।
SELECT CASE
WHEN amount < 50 THEN 'small'
WHEN amount < 200 THEN 'medium'
ELSE 'large'
END AS bucket,
COUNT(*) AS orders
FROM sales
GROUP BY CASE
WHEN amount < 50 THEN 'small'
WHEN amount < 200 THEN 'medium'
ELSE 'large'
END;कॉलम की स्थिति के अनुसार समूहीकरण
कई डेटाबेस रूपांतर क्रमिक स्थिति के अनुसार समूह बनाने देते हैं: GROUP BY 1, 2 का अर्थ है SELECT के पहले और दूसरे कॉलम। यह संक्षिप्त है, लेकिन नाज़ुक है।
साक्षात्कारकर्ता इसे स्वीकार कर सकते हैं, लेकिन जोखिम पर ध्यान दीजिए: SELECT सूची का क्रम बदलने पर समूहीकरण चुपचाप बदल जाता है। वास्तविक उपयोग के कोड में स्पष्ट अभिव्यक्तियों को प्राथमिकता दीजिए।
-- 1 = month expression, 2 = region
SELECT DATE_TRUNC('month', order_date) AS month,
region, SUM(amount)
FROM sales
GROUP BY 1, 2;NULL अपना अलग समूह बनाते हैं
समूहीकरण में NULL को संभालने से जुड़ी एक पेचीदगी: जब किसी समूहीकरण कॉलम में NULL हों, तो सभी NULL वाली पंक्तियाँ एक ही समूह में सिमट जाती हैं।
यह समानता की तुलना से अलग है, जहाँ NULL कभी भी NULL के बराबर नहीं होता। समूहीकरण के लिए NULL को 'समान' माना जाता है और वे एक बकेट बनाते हैं। साक्षात्कारकर्ताओं को यह दिखने वाला विरोधाभास बहुत पसंद आता है।
-- Rows with region IS NULL all land in one group
SELECT region, COUNT(*) AS orders
FROM sales
GROUP BY region;कई स्तरों के लिए GROUPING SETS
एक ही क्वेरी में कई समूहीकरण स्तर बनाने के लिए GROUPING SETS का उपयोग कीजिए। यह दी गई हर कुंजी-समूह की गणना करता है और परिणामों को जोड़ता है।
यह मध्यम से वरिष्ठ स्तर की समझ दिखाता है: तीन अलग-अलग क्वेरी और UNION लिखने के बजाय, एक ही कथन क्षेत्र-वार, उत्पाद-वार और कुल योग, तीनों एक साथ लौटाता है।
SELECT region, product, SUM(amount) AS total
FROM sales
GROUP BY GROUPING SETS ((region), (product), ());ROLLUP और CUBE
ROLLUP और CUBE सामान्य समूहीकरण सेटों के संक्षिप्त रूप हैं। ROLLUP(region, product) क्षेत्र+उत्पाद, क्षेत्र के उप-योग और कुल योग देता है, इसलिए यह पदानुक्रमित रिपोर्टों के लिए आदर्श है।
CUBE दिए गए कॉलमों के हर संयोजन को बनाता है। इन्हें जानने से यह पता चलता है कि उम्मीदवार ने वास्तविक रिपोर्टिंग क्वेरी बनाई हैं।
SELECT region, product, SUM(amount) AS total
FROM sales
GROUP BY ROLLUP (region, product);उदाहरण: मासिक क्षेत्रीय रिपोर्ट
इन विचारों को मिलाइए: हर क्षेत्र और महीने के लिए कुल तथा औसत बिक्री निकालिए, केवल पूरे किए गए ऑर्डरों के लिए, और पढ़ने में आसानी के लिए उन्हें क्रमबद्ध कीजिए।
WHERE पहले पंक्तियों की संख्या घटाता है, संयुक्त कुंजी क्षेत्र और महीने वाली अभिव्यक्ति के अनुसार समूह बनाती है, और ORDER BY आउटपुट को व्यवस्थित करता है। यह विश्लेषक-साक्षात्कार के लिए एक सामान्य पूर्ण उत्तर है।
SELECT region,
DATE_TRUNC('month', order_date) AS month,
SUM(amount) AS total,
AVG(amount) AS avg_order
FROM sales
WHERE status = 'completed'
GROUP BY region, DATE_TRUNC('month', order_date)
ORDER BY region, month;अपना तर्क बोलकर कैसे समझाएँ
संयुक्त समूहीकरण वाले किसी भी प्रश्न में कुंजी को स्पष्ट रूप से बताइए: 'मैं X और Y के संयोजन के अनुसार समूह बना रहा हूँ, इसलिए मुझे हर अलग (X, Y) युग्म के लिए एक पंक्ति मिलेगी।'
फिर पक्का कीजिए कि हर गैर-समेकित SELECT कॉलम उस कुंजी में है, और यह भी बताइए कि NULL एक ही समूह में सिमट जाते हैं। इसी व्यवस्थित ढंग से समझाने को मध्यम स्तर के साक्षात्कारों में महत्व दिया जाता है।
त्वरित जाँच
संयुक्त समूहीकरण कुंजियों के बारे में तर्क कीजिए।
पुनरावलोकन
संयुक्त कुंजियाँ: कई कॉलम सूचीबद्ध करने पर हर अलग संयोजन के लिए एक पंक्ति बनती है; हर गैर-समेकित SELECT कॉलम कुंजी में होना चाहिए।
- आप अभिव्यक्तियों, CASE बकेट या क्रमिक स्थितियों के अनुसार समूह बना सकते हैं; स्थितियाँ नाज़ुक होती हैं।
- समूहीकरण कॉलम में मौजूद NULL एक ही समूह में सिमट जाते हैं।
GROUPING SETS,ROLLUPऔरCUBEएक ही क्वेरी में कई समूहीकरण स्तर बनाते हैं।- समूहीकरण से पहले पंक्तियों वाले फ़िल्टर WHERE में डालिए।
एआई शिक्षक के साथ SQL सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 30
- पाठ
- 120
अक्सर पूछे जाने वाले प्रश्न
क्या “कई COLUMN और अभिव्यक्तियों से समूह बनाना” पाठ निःशुल्क है?
हाँ—“कई COLUMN और अभिव्यक्तियों से समूह बनाना” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और SQL साक्षात्कार की तैयारी पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। SQL साक्षात्कार की तैयारी पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“कई COLUMN और अभिव्यक्तियों से समूह बनाना” में मैं क्या सीखूँगा?
संयुक्त समूह-कुंजियाँ और परिकलित मानों पर समूह बनाना सीखें आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ SQL साक्षात्कार की तैयारी का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या SQL साक्षात्कार की तैयारी शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर SQL साक्षात्कार की तैयारी शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 3वाँ पाठ है।
“कई COLUMN और अभिव्यक्तियों से समूह बनाना” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस SQL साक्षात्कार की तैयारी पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर SQL साक्षात्कार की तैयारी पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- SELECT COLUMN के लिए GROUP BY नियम
- HAVING बनाम WHERE
- कई COLUMN और अभिव्यक्तियों से समूह बनाना
- समूहों को गिनना और फ़िल्टर करना