Grouping Data with GROUP BY In Hindi
एसक्यूएल डेटाबेस मैनेजमेंट सिस्टम में GROUP BY क्लॉज़ स्टेटमेंट का यूज़ कुछ पर्टिकुलर डेटाबेस टेबल रो को ग्रुप करने में किया जाता है, जिन टेबल कॉलम का नेचर एक जैसा होता हैं. जैसे की, डेटाबेस टेबल में हर ग्रुप में टेबल डेटा का टोटल, एवरेज, मीन, मैक्स, या काउंट आदि न्यूमेरिक वैल्यू को फाइण्ड करना हो। यहाँ GROUP BY क्लॉज़ का यूज़ ज्यादातर डेटाबेस न्यूमेरिक फंक्शन में COUNT(), SUM(), AVG(), MIN(), और MAX() जैसे न्यूमेरिक एग्रीगेट फ़ंक्शन को डेटाबेस टेबल रौ में अप्लाई करने में किया जाता है।

SQL GROUP BY Clause Syntax.
SELECT column_name(s), aggregate_function(column_name)
FROM table_name
WHERE condition
GROUP BY column_name(s);
SQL GROUP BY Clause element.
- column_name(s) – यह टेबल में वे कॉलम होते है, जिन्हें डेटाबेस यूजर सलेक्ट करना चाहते हैं।
- aggregate_function() – ये टेबल में अप्लाई होने वाले वे एग्रीगेट फ़ंक्शन होते है, जिन्हें यूजर ग्रुप किए गए डेटा में अप्लाई करना चाहते हैं. जैसे, COUNT(), SUM(), AVG(), आदि फंक्शन है।
- condition – यह टेबल डाटा को ग्रुपिंग से पहले रो को लिमिट करने के लिए ऑप्शनल फ़िल्टर कंडीशन होती है, यहाँ WHERE स्टेटमेंट का यूज़ करके किया जाता है।
- GROUP BY – यह टेबल में वह कॉलम या कॉलम होते है, जिनके अनुसार टेबल डेटा को ग्रुप करके डिस्प्ले किया जाता है।
Example without aggregate functions in SQL database.
यदि डेटाबेस यूजर बिना कोई एग्रीगेट फ़ंक्शन अप्लाई किए सिर्फ़ एक या ज़्यादा कॉलम के अनुसार टेबल डेटा को ग्रुप करना चाहते हैं, तो आप टेबल डाटा वैल्यू के यूनिक ग्रुप को प्रीव्यू करने के लिए GROUP BY क्लॉज़ स्टेटमेंट का यूज़ कर सकते हैं।
Example without aggregate functions.
यहाँ माना की डेटाबेस यूजर के पास एक एम्प्लॉई नाम से डेटाबेस टेबल है, और यूजर यह पता करना चाहता हैं कि एम्प्लॉई टेबल में हर डिपार्टमेंट में टोटल कितने एम्प्लॉई वर्किंग हैं। तो आप टेबल डेटा को डिपार्टमेंट के हिसाब से ग्रुप कर प्रीव्यू कर सकते हैं।
SELECT department, COUNT(*)
FROM employe
GROUP BY department;
Table output result.
department COUNT(*)
Marketing 1
Development 2
Design 3
In this example.
- यहाँ GROUP BY क्लॉज़ टेबल में एम्प्लॉई डिपार्टमेंट को डिपार्टमेंट के अनुसार ग्रुप कर डिस्प्ले करता है।
- यहाँ ग्रुप बाय क्लॉज़ में COUNT(*) न्यूमेरिक डेटाबेस फंक्शन हर डिपार्टमेंट में एम्प्लॉई की एक्चुअल नंबर को डिस्प्ले करता है।
Using Aggregate Functions with the GROUP BY Clause in SQL Databases.
डेटाबेस यूजर एसक्यूएल डेटाबेस टेबल के रो के हर ग्रुप में न्यूमेरिक फंक्शन कैलकुलेशन को अप्लाई करने के लिए GROUP BY क्लॉज़ को डेटाबेस एग्रीगेट फ़ंक्शन के साथ ऐड कर यूज़ कर सकते हैं।
Examples with SQL database aggregate functions.
SUM() aggregate functions – यहाँ सम फंक्शन एम्प्लॉई टेबल में हर डिपार्टमेंट में टोटल टेबल कॉलम सैलरी को कैलकुलेट कर डिस्प्ले करता है।
SELECT department, SUM(salary)
FROM employe
GROUP BY department;
SUM() aggregate functions Result.
department SUM(salary)
Marketing 74000
Development 44000
Design 63000
In this example.
- यहाँ इस एक्साम्प्ल में एम्प्लॉई टेबल में SUM function (salary) कॉलम हर एम्प्लॉई टेबल में डिपार्टमेंट के लिए कुल सैलरी को कैलकुलेट कर डिस्प्ले करता है।
AVG() aggregate functions – यह फंक्शन एम्प्लॉई टेबल में हर डिपार्टमेंट में एवरेज सैलरी को कैलकुलेट कर डिस्प्ले करता है।
SELECT department, AVG(salary)
FROM employe
GROUP BY department;
AVG () Aggregate function result.
department AVG(salary)
Marketing 74000
Development 44000
Design 63000
In this example.
- यहाँ AVG Aggregate function(salary) एम्प्लॉई टेबल में हर डिपार्टमेंट के लिए एवरेज सैलरी को कैलकुलेट कर डिस्प्ले करता है
MIN() Aggregate function – यहाँ मिनिमम एग्रीगेट फंक्शन एम्प्लॉई टेबल में हर डिपार्टमेंट में मिनिमम सैलरी को फाइंड कर डिस्प्ले करता है।
SELECT department, MIN(salary)
FROM employe
GROUP BY department;
MIN() Aggregate function result.
department MIN(salary)
Development 44000
Design 63000
Marketing 74000
In this example.
- यहाँ मीन एग्रीगेट फंक्शन एम्प्लॉई टेबल में MIN(salary) टेबल रौ में हर डिपार्टमेंट में मिनिमम एम्प्लॉई सैलरी को डिस्प्ले करता है।
MAX() Aggregate function – यहाँ मैक्स एग्रीगेट फंक्शन हर एम्प्लॉई टेबल में डिपार्टमेंट में मैक्सिमम एम्प्लॉई सैलरी को फाइंड कर डिस्प्ले करता है।
SELECT department, MAX(salary)
FROM employe
GROUP BY department;
Result of the MAX() Aggregate function.
department MAX(salary)
Marketing 74000
Design 63000
Development 44000
In this example.
- यहाँ इस एक्साम्प्ल में MAX Aggregate function(salary) एम्प्लॉई टेबल में हर डिपार्टमेंट में मैक्सिमम सैलरी को फाइण्ड कर डिस्प्ले करता है।
Grouping by Multiple Columns in an SQL Database.
एसक्यूएल डेटाबेस में यूजर टेबल डेटा को एक से ज़्यादा कॉलम के अनुसार ग्रुप कर डिस्प्ले कर सकते हैं। यह फीचर्स तब यूज़ किया जाता है, जब डेटाबेस यूजर कई डाइमेंशन में टेबल डेटा को एनालाइज़ करना चाहता हैं।
Example of Grouping by Multiple Columns.
यहाँ एम्प्लॉई टेबल डिपार्टमेंट और एज ग्रुप जैसे, 20 से कम, 20-40 ऐज के बीच और 40 से अधिक ऐज के एम्प्लॉई के हिसाब से टोटल सैलरी और एवरेज सैलरी डिस्प्ले करने के लिए.
SELECT department,
CASE
WHEN emp_age < 20 THEN ‘Under 20’
WHEN emp_age BETWEEN 20 AND 40 THEN ’20-40′
ELSE ‘Over 40’
END AS emp_age_group,
SUM(salary) AS total_salary,
AVG(salary) AS avg_salary
FROM employe
GROUP BY department, emp_age_group;
Grouping by Multiple Columns.
एम्प्लॉई टेबल में डिपार्टमेंट एज_ग्रुप टोटल_सैलरी एवरेज_सैलरी रिजल्ट के लिए.
department salary
Marketing 74000
Development 44000
Design 63000
In this example.
- यह एम्प्लॉई टेबल में CASE स्टेटमेंट हर एम्प्लॉई के लिए एक emp_age_group कैटेगरी को क्रिएट करता है।
- टेबल डेटा को पहले डिपार्टमेंट के अनुसार उसके बाद emp_age_group के अनुसार ग्रुप कर डिस्प्ले किया जाता है।
- डेटाबेस टेबल क्वेरी हर टेबल ग्रुप के लिए SUM(सैलरी) और AVG(सैलरी) कैलकुलेट करता है।
Filtering Groups with HAVING in an SQL Database Table.
डेटाबेस यूजर HAVING क्लॉज़ को यूज़ करके GROUP BY क्लॉज़ ऑपरेशन के बाद टेबल रौ को ग्रुप्स कर फ़िल्टर कर सकते हैं। यहाँ डेटाबेस टेबल में HAVING क्लॉज़ WHERE क्लॉज़ के जैसे ही काम करता है. जबकि इसका यूज़ एग्रीगेटेड रिज़ल्ट्स को फ़िल्टर करने में किया जाता है।
Example of filtering groups with HAVING.
एम्प्लॉई टेबल में 50,000 से अधिक टोटल सैलरी पाने वाले एम्प्लॉई डिपार्टमेंट पाने के लिए.
SELECT department, SUM(salary) AS total_salary
FROM employe
GROUP BY department
HAVING SUM(salary) > 50000;
Result of filtering groups with HAVING.
department total_salary
Design 63000
Marketing 74000
In this example.
- यहाँ एम्प्लॉई डेटाबेस टेबल में HAVING क्लॉज़ SUM(salary) कैलकुलेशन के रिज़ल्ट्स को फ़िल्टर कर डिस्प्ले करता है, और प्रीव्यू में सिर्फ़ वही डिपार्टमेंट रिजल्ट को डिस्प्ले करता है, जहाँ कुल सैलरी 50000 से अधिक है।
Sorting groups in an SQL database with ORDER BY.
डेटाबेस यूजर GROUP BY क्लॉज़ ऐड करने के बाद टेबल रिज़ल्ट सेट को सॉर्ट करने के लिए ORDER BY क्लॉज़ का यूज़ कर सकते हैं।
Example of sorting groups with ORDER BY.
यहाँ एम्प्लॉई टेबल में टोटल सैलरी के हिसाब से डिपार्टमेंट को घटते क्रम में डिस्प्ले करने के लिए.
SELECT department, SUM(salary) AS total_salary
FROM employe
GROUP BY department
ORDER BY total_salary DESC;
Result of sorting groups with ORDER BY.
department salary
Marketing 74000
Design 63000
Development 44000
In this example.
- यहाँ एम्प्लॉई टेबल डेटा को total_salary के हिसाब से घटते क्रम में सॉर्ट कर डिस्प्ले किया गया है, जिसमें मौजूदा एम्प्लॉई टेबल में सबसे अधिक कुल सैलरी पाने वाले एम्प्लॉई डिपार्टमेंट को पहले डिस्प्ले किया गया है।
