- 1 1. परिचय
- 2 2. MAX फ़ंक्शन का बुनियादी उपयोग
- 3 3. शर्तों के साथ अधिकतम मान प्राप्त करना
- 4 4. प्रत्येक समूह के लिए अधिकतम मान कैसे प्राप्त करें
- 5 5. अधिकतम मान वाले पूरे रिकॉर्ड को कैसे प्राप्त करें
- 6 6. MAX फ़ंक्शन का उपयोग करते समय महत्वपूर्ण विचार
- 7 7. अक्सर पूछे जाने वाले प्रश्न (FAQ)
- 7.1 प्रश्न 1: क्या MAX फ़ंक्शन को एक साथ कई कॉलम पर उपयोग किया जा सकता है?
- 7.2 Q2: जब MAX फ़ंक्शन को स्ट्रिंग कॉलम पर लागू किया जाता है तो क्या होता है?
- 7.3 Q3: MAX फ़ंक्शन और ORDER BY क्लॉज़ में क्या अंतर है?
- 7.4 Q4: क्या NULL मानों को शामिल करने पर MAX फ़ंक्शन सही ढंग से काम करता है?
- 7.5 Q5: MAX फ़ंक्शन का उपयोग करते समय प्रदर्शन कैसे सुधारें?
- 7.6 Q6: जब MAX को GROUP BY क्लॉज़ के साथ मिलाया जाता है तो क्या होता है?
- 7.7 Q7: यदि कई रिकॉर्ड अधिकतम मान साझा करते हैं, तो सभी को कैसे प्राप्त करें?
- 7.8 Q8: क्या MAX फ़ंक्शन को विंडो फ़ंक्शनों के साथ उपयोग किया जा सकता है?
- 8 8. सारांश
1. परिचय
MySQL एक डेटाबेस प्रबंधन प्रणाली है जो दुनिया भर में व्यापक रूप से उपयोग की जाती है। अपनी कई विशेषताओं में, MAX फ़ंक्शन एक महत्वपूर्ण एग्रीगेट फ़ंक्शन है जो डेटा विश्लेषण और रिपोर्ट निर्माण में अक्सर उपयोग किया जाता है। इस फ़ंक्शन का उपयोग करके, आप आसानी से किसी निर्दिष्ट कॉलम का अधिकतम मान प्राप्त कर सकते हैं।
यह लेख MySQL MAX फ़ंक्शन के बुनियादी उपयोग से लेकर उन्नत उदाहरणों और महत्वपूर्ण विचारों तक सब कुछ स्पष्ट रूप से समझाता है। यह शुरुआती और मध्यवर्ती उपयोगकर्ताओं दोनों के लिए सहायक होने के लिए डिज़ाइन किया गया है, इसलिए इसे संदर्भ के रूप में उपयोग करना न भूलें।
2. MAX फ़ंक्शन का बुनियादी उपयोग
MAX फ़ंक्शन का उपयोग विभिन्न डेटा प्रकारों के साथ किया जा सकता है, जिसमें संख्यात्मक मान, तिथियां और स्ट्रिंग्स शामिल हैं। इस अनुभाग में, हम बुनियादी उपयोग को विस्तार से समझाएंगे।
MAX फ़ंक्शन की सिंटैक्स
नीचे MAX फ़ंक्शन की बुनियादी सिंटैक्स दी गई है।
SELECT MAX(column_name) FROM table_name;
इस सिंटैक्स का उपयोग करके, आप निर्दिष्ट कॉलम का अधिकतम मान प्राप्त कर सकते हैं।
उदाहरण: संख्यात्मक कॉलम के साथ MAX का उपयोग
निम्नलिखित उदाहरण कर्मचारियों की तालिका से सबसे अधिक वेतन प्राप्त करता है।
SELECT MAX(salary) FROM employees;
आउटपुट उदाहरण:
| MAX(salary) |
|---|
| 120000 |
यह परिणाम दर्शाता है कि salary कॉलम में अधिकतम मान 120000 है।
उदाहरण: तिथि कॉलम के साथ MAX का उपयोग
कर्मचारियों की सबसे हालिया नियुक्ति तिथि प्राप्त करने के लिए, निम्नलिखित क्वेरी का उपयोग करें:
SELECT MAX(hire_date) FROM employees;
आउटपुट उदाहरण:
| MAX(hire_date) |
|---|
| 2025-01-01 |
यह परिणाम दर्शाता है कि सबसे हालिया नियुक्ति तिथि 2025-01-01 है।
उदाहरण: स्ट्रिंग कॉलम के साथ MAX का उपयोग
MAX फ़ंक्शन का उपयोग स्ट्रिंग कॉलम के साथ भी किया जा सकता है। स्ट्रिंग्स के लिए, यह लेक्सिकोग्राफिकल (शब्दकोश) क्रम में अंतिम दिखाई देने वाले मान को लौटाता है।
SELECT MAX(last_name) FROM employees;
आउटपुट उदाहरण:
| MAX(last_name) |
|---|
| Yamamoto |
यह परिणाम दर्शाता है कि Yamamoto वह नाम है जो वर्णक्रम (लेक्सिकोग्राफिकल) क्रम में अंतिम आता है।
3. शर्तों के साथ अधिकतम मान प्राप्त करना
MAX फ़ंक्शन का उपयोग शर्तों के साथ भी किया जा सकता है। इस अनुभाग में, हम विशिष्ट शर्तों के तहत अधिकतम मान कैसे प्राप्त करें, समझाते हैं।
WHERE क्लॉज़ के साथ संयोजन
विशिष्ट शर्तों के साथ अधिकतम मान प्राप्त करने के लिए, WHERE क्लॉज़ का उपयोग करें।
उदाहरण: उन कर्मचारियों में से सबसे अधिक वेतन प्राप्त करें जिनका विभाग ID 10 है
SELECT MAX(salary) FROM employees WHERE department_id = 10;
आउटपुट उदाहरण:
| MAX(salary) |
|---|
| 90000 |
यह क्वेरी उन कर्मचारियों में से अधिकतम वेतन प्राप्त करती है जिनका विभाग ID 10 है।
व्यावहारिक व्यवसायिक उदाहरण
आप समान सिंटैक्स का उपयोग करके किसी विशिष्ट प्रोजेक्ट से संबंधित अधिकतम लागत प्राप्त कर सकते हैं।
SELECT MAX(cost) FROM projects WHERE project_status = 'active';
यह क्वेरी active स्थिति वाले प्रोजेक्ट्स में से अधिकतम लागत प्राप्त करती है।
4. प्रत्येक समूह के लिए अधिकतम मान कैसे प्राप्त करें
MySQL के GROUP BY क्लॉज़ का उपयोग करके, आप प्रत्येक समूह के लिए अधिकतम मान प्राप्त कर सकते हैं। उदाहरण के लिए, यह डेटा को समूहित करके विश्लेषण करने में बहुत उपयोगी है, जैसे प्रत्येक विभाग में सबसे अधिक वेतन या प्रत्येक महीने में अधिकतम बिक्री। इस अनुभाग में, हम समूह द्वारा अधिकतम मान कैसे प्राप्त करें, विस्तार से समझाते हैं।
बुनियादी सिंटैक्स
प्रत्येक समूह के लिए अधिकतम मान प्राप्त करने के लिए, क्वेरी को इस प्रकार लिखें:
SELECT grouping_column, MAX(target_column)
FROM table_name
GROUP BY grouping_column;
इस सिंटैक्स के साथ, MySQL निर्दिष्ट कॉलम के आधार पर डेटा को समूहित करता है और प्रत्येक समूह के भीतर अधिकतम मान लौटाता है।
उदाहरण: प्रत्येक विभाग के लिए सबसे अधिक वेतन प्राप्त करना
निम्नलिखित क्वेरी कर्मचारियों की तालिका से प्रत्येक विभाग के लिए सबसे अधिक वेतन प्राप्त करती है।
SELECT department_id, MAX(salary)
FROM employees
GROUP BY department_id;
आउटपुट उदाहरण:
| department_id | MAX(salary) |
|---|---|
| 1 | 120000 |
| 2 | 90000 |
| 3 | 80000 |
यह परिणाम प्रत्येक विभाग (department_id) के लिए अधिकतम वेतन (MAX(salary)) दिखाता है।
उदाहरण: प्रत्येक महीने के लिए अधिकतम बिक्री प्राप्त करना
एक बिक्री तालिका से प्रत्येक महीने के अधिकतम बिक्री राशि को प्राप्त करने के लिए, क्वेरी इस प्रकार लिखें:
SELECT DATE_FORMAT(sale_date, '%Y-%m') AS sale_month, MAX(amount)
FROM sales
GROUP BY sale_month;
आउटपुट उदाहरण:
| sale_month | MAX(amount) |
|---|---|
| 2025-01 | 50000 |
| 2025-02 | 70000 |
| 2025-03 | 60000 |
इस क्वेरी में, sale_date कॉलम को वर्ष-माह (%Y-%m) के रूप में स्वरूपित किया गया है, और प्रत्येक महीने के लिए अधिकतम बिक्री राशि प्राप्त की जाती है।
GROUP BY का उपयोग करते समय महत्वपूर्ण नोट्स
- SELECT कथन में शामिल कॉलमों पर प्रतिबंध
GROUP BYक्लॉज़ का उपयोग करते समय,SELECTकथन में शामिल कॉलम निम्नलिखित में से एक होना चाहिए:
GROUP BYक्लॉज़ में निर्दिष्ट कॉलम- एग्रीगेट फ़ंक्शन (जैसे, MAX, SUM, COUNT, आदि) उदाहरण: निम्नलिखित क्वेरी त्रुटि उत्पन्न करेगी।
SELECT department_id, salary FROM employees GROUP BY department_id;
कारण: salary न तो एग्रीगेट फ़ंक्शन में शामिल है और न ही GROUP BY क्लॉज़ में।
- NULL मानों का संभालना यदि समूहित कॉलम में NULL मान होते हैं, तो उन NULL मानों को एक अलग समूह के रूप में माना जाता है। उदाहरण: NULL विभाग ID वाले रिकॉर्ड भी एक समूह के रूप में गणना किए जाते हैं।
- प्रदर्शन अनुकूलन बड़े डेटा को समूहित करते समय, इंडेक्स का उपयोग क्वेरी प्रदर्शन को सुधार सकता है। आवश्यकता अनुसार इंडेक्स जोड़ें।
5. अधिकतम मान वाले पूरे रिकॉर्ड को कैसे प्राप्त करें
MySQL के MAX फ़ंक्शन का उपयोग करके आप किसी विशिष्ट कॉलम का अधिकतम मान प्राप्त कर सकते हैं। हालांकि, यह स्वतः उस अधिकतम मान वाले पूरे रिकॉर्ड को नहीं लौटाता। वास्तविक डेटा विश्लेषण और अनुप्रयोगों में, आपको अक्सर केवल अधिकतम मान ही नहीं, बल्कि अन्य कॉलमों से संबंधित जानकारी भी चाहिए।
इस अनुभाग में, हम विस्तार से समझाते हैं कि अधिकतम मान वाले पूरे रिकॉर्ड को कैसे प्राप्त किया जाए।
विधि 1: सबक्वेरी का उपयोग
आप एक सबक्वेरी का उपयोग करके किसी विशिष्ट कॉलम में अधिकतम मान वाले रिकॉर्ड प्राप्त कर सकते हैं।
उदाहरण: सबसे अधिक वेतन वाले कर्मचारी की जानकारी प्राप्त करें
SELECT *
FROM employees
WHERE salary = (SELECT MAX(salary) FROM employees);
आउटपुट उदाहरण:
| employee_id | name | salary | department_id |
|---|---|---|---|
| 101 | Tanaka | 120000 | 1 |
यह क्वेरी कैसे काम करती है:
- सबक्वेरी
(SELECT MAX(salary) FROM employees)सबसे अधिक वेतन प्राप्त करती है। - बाहरी क्वेरी उस सबसे अधिक वेतन से मेल खाने वाले पूरे रिकॉर्ड को प्राप्त करती है।
विधि 2: JOIN का उपयोग
JOIN का उपयोग करके आप अधिक लचीली क्वेरी बना सकते हैं।
उदाहरण: प्रत्येक विभाग में सबसे अधिक वेतन वाले कर्मचारियों को प्राप्त करें
SELECT e.*
FROM employees e
JOIN (
SELECT department_id, MAX(salary) AS max_salary
FROM employees
GROUP BY department_id
) subquery
ON e.department_id = subquery.department_id
AND e.salary = subquery.max_salary;
आउटपुट उदाहरण:
| employee_id | name | salary | department_id |
|---|---|---|---|
| 101 | Tanaka | 120000 | 1 |
| 202 | Suzuki | 90000 | 2 |
यह क्वेरी कैसे काम करती है:
- सबक्वेरी प्रत्येक विभाग के लिए सबसे अधिक वेतन की गणना करती है।
- मुख्य क्वेरी उन अधिकतम वेतन से मेल खाने वाले पूर्ण कर्मचारी रिकॉर्ड को प्राप्त करती है।
विधि 3: विंडो फ़ंक्शन का उपयोग (MySQL 8.0+)
MySQL 8.0 और बाद में, आप विंडो फ़ंक्शन का उपयोग करके अधिकतम मान वाले रिकॉर्ड को अधिक संक्षिप्त और कुशलता से प्राप्त कर सकते हैं।
उदाहरण: प्रत्येक विभाग में सबसे अधिक वेतन वाले कर्मचारियों को प्राप्त करें
SELECT employee_id, name, salary, department_id
FROM (
SELECT *,
RANK() OVER (PARTITION BY department_id ORDER BY salary DESC) AS rnk
FROM employees
) ranked
WHERE rnk = 1;
आउटपुट उदाहरण:
| employee_id | name | salary | department_id |
|---|---|---|---|
| 101 | Tanaka | 120000 | 1 |
| 202 | Suzuki | 90000 | 2 |
यह क्वेरी कैसे काम करती है:
RANK()फ़ंक्शन प्रत्येक विभाग में वेतन को अवरोही क्रम में रैंक करता है।- बाहरी क्वेरी उन रिकॉर्ड को निकालती है जहाँ रैंक 1 है (अधिकतम मान वाले रिकॉर्ड)।
महत्वपूर्ण नोट्स
- यदि कई रिकॉर्ड समान अधिकतम मान साझा करते हैं
- यदि कई रिकॉर्ड समान अधिकतम मान साझा करते हैं, तो दोनों विधियों में सभी मिलते-जुलते रिकॉर्ड लौटाए जाएंगे। उदाहरण:
SELECT * FROM employees WHERE salary = (SELECT MAX(salary) FROM employees);
आउटपुट उदाहरण:
| employee_id | name | salary | department_id |
|---|---|---|---|
| 101 | Tanaka | 120000 | 1 |
| 102 | Sato | 120000 | 1 |
- प्रदर्शन अनुकूलन
- बड़े डेटासेट पर उप‑प्रश्नों या JOINs का उपयोग करने से प्रदर्शन घट सकता है।
- उचित इंडेक्सिंग क्वेरी निष्पादन गति को काफी सुधार सकती है।
व्यावहारिक व्यापार उदाहरण
- सबसे अधिक कीमत वाले उत्पाद को प्राप्त करें
SELECT * FROM products WHERE price = (SELECT MAX(price) FROM products);
- प्रति प्रोजेक्ट अधिकतम लागत की विस्तृत जानकारी प्राप्त करें
SELECT p.* FROM projects p JOIN ( SELECT project_id, MAX(cost) AS max_cost FROM project_costs GROUP BY project_id ) subquery ON p.project_id = subquery.project_id AND p.cost = subquery.max_cost;
6. MAX फ़ंक्शन का उपयोग करते समय महत्वपूर्ण विचार
MySQL MAX फ़ंक्शन एक बहुत उपयोगी एग्रीगेट फ़ंक्शन है, लेकिन इसे उपयोग करते समय कई महत्वपूर्ण बिंदुओं का ध्यान रखना आवश्यक है। डेटा की विशेषताओं, प्रदर्शन प्रभावों, और NULL मानों को कैसे संभाला जाता है, को समझना गलत परिणामों और प्रदर्शन में गिरावट को रोकने में मदद करता है। इस अनुभाग में, हम MAX फ़ंक्शन के उपयोग के प्रमुख विचारों की व्याख्या करते हैं।
NULL मानों को संभालना
MySQL में, NULL मानों को “अज्ञात मान” माना जाता है। इसलिए, MAX फ़ंक्शन का उपयोग करते समय, NULL मानों को अनदेखा किया जाता है।
उदाहरण: NULL सहित डेटा से अधिकतम मान प्राप्त करना
SELECT MAX(salary) FROM employees;
डेटा:
| employee_id | name | salary |
|---|---|---|
| 1 | Tanaka | 50000 |
| 2 | Sato | NULL |
| 3 | Suzuki | 60000 |
आउटपुट:
| MAX(salary) |
|---|
| 60000 |
मुख्य बिंदु:
- भले ही
salaryकॉलम में NULL मान हों, MAX फ़ंक्शन गणना के दौरान उन्हें अनदेखा करता है। - आपको यह सावधानीपूर्वक विचार करना चाहिए कि NULL मान आपके डेटा लॉजिक को कैसे प्रभावित करते हैं।
जब कई अधिकतम मान मौजूद हों
MAX फ़ंक्शन एकल अधिकतम मान लौटाता है, लेकिन डेटासेट में कई रिकॉर्ड उसी अधिकतम मान को साझा कर सकते हैं। ऐसे मामलों में, आपको सभी मिलते‑जुलते रिकॉर्ड प्राप्त करने के लिए क्वेरी को संरचित करना होगा।
उदाहरण: समान अधिकतम वेतन वाले कर्मचारियों को प्राप्त करें
SELECT *
FROM employees
WHERE salary = (SELECT MAX(salary) FROM employees);
डेटा:
| employee_id | name | salary |
|---|---|---|
| 1 | Tanaka | 60000 |
| 2 | Sato | 60000 |
| 3 | Suzuki | 50000 |
आउटपुट:
| employee_id | name | salary |
|---|---|---|
| 1 | Tanaka | 60000 |
| 2 | Sato | 60000 |
मुख्य बिंदु:
- यदि केवल MAX पर्याप्त नहीं है, तो सभी मिलते‑जुलते रिकॉर्ड प्राप्त करने के लिए एक उप‑प्रश्न (subquery) का उपयोग करें।
प्रदर्शन प्रभाव
MAX फ़ंक्शन सरल क्वेरी में कुशलता से कार्य करता है। हालांकि, बड़े डेटासेट या जटिल क्वेरी के साथ काम करने पर प्रदर्शन घट सकता है।
प्रदर्शन सुधारने के टिप्स
- इंडेक्स का उपयोग करें MAX फ़ंक्शन में उपयोग किए गए कॉलम पर इंडेक्स जोड़ने से क्वेरी गति में काफी सुधार हो सकता है।
CREATE INDEX idx_salary ON employees(salary);
- अनावश्यक डेटा को फ़िल्टर करें लक्ष्य पंक्तियों को सीमित करने के लिए WHERE क्लॉज़ का उपयोग करके डेटासेट को घटाएँ।
SELECT MAX(salary) FROM employees WHERE department_id = 1;
- विभाजित करें और गणना करें उपसमुच्चयों में अधिकतम मानों की गणना करने और फिर अंतिम अधिकतम निर्धारित करने पर विचार करें।
अन्य विचार
- डेटा प्रकारों का प्रभाव MAX फ़ंक्शन का व्यवहार कॉलम के डेटा प्रकार पर निर्भर करता है।
- संख्यात्मक: सरल संख्यात्मक तुलना।
- स्ट्रिंग: शब्दकोशीय क्रम में तुलना की जाती है।
- तिथि: सबसे हालिया (नवीनतम) तिथि लौटाता है। उदाहरण:
SELECT MAX(last_name) FROM employees;
इस मामले में, अधिकतम मान शब्दकोशीय स्ट्रिंग क्रम के आधार पर निर्धारित किया जाता है।
- NULL के अलावा गायब डेटा यदि डेटा अधूरा या गलत स्वरूपित है, तो गणना परिणाम अपेक्षाओं से मेल नहीं खा सकता। डेटा सफाई आवश्यक हो सकती है।
- अन्य एग्रीगेट फ़ंक्शनों के साथ संयोजन जब MAX को अन्य एग्रीगेट फ़ंक्शनों (जैसे SUM या AVG) के साथ संयोजित किया जाता है, तो सुनिश्चित करें कि आप परिणामों की सही व्याख्या करें।
7. अक्सर पूछे जाने वाले प्रश्न (FAQ)
यह अनुभाग MySQL MAX फ़ंक्शन के बारे में सामान्य प्रश्नों का सारांश और व्याख्या करता है। यह बुनियादी और उन्नत दोनों विषयों को कवर करता है।
प्रश्न 1: क्या MAX फ़ंक्शन को एक साथ कई कॉलम पर उपयोग किया जा सकता है?
उत्तर 1: नहीं, MAX फ़ंक्शन एकल कॉलम पर कार्य करता है। यदि आप कई कॉलम के अधिकतम मान प्राप्त करना चाहते हैं, तो आपको प्रत्येक कॉलम पर अलग‑अलग MAX फ़ंक्शन लागू करना होगा।
उदाहरण: कई कॉलमों से अधिकतम मान प्राप्त करें
SELECT MAX(salary) AS max_salary, MAX(bonus) AS max_bonus
FROM employees;
Q2: जब MAX फ़ंक्शन को स्ट्रिंग कॉलम पर लागू किया जाता है तो क्या होता है?
A2: जब इसे स्ट्रिंग कॉलम पर लागू किया जाता है, तो MAX फ़ंक्शन वह मान लौटाता है जो शब्दकोशीय (lexicographical) क्रम में अंतिम होता है।
उदाहरण: अधिकतम स्ट्रिंग मान प्राप्त करें
SELECT MAX(last_name) FROM employees;
मुख्य बिंदु:
- शब्दकोशीय क्रम में, “Z” “A” के बाद आता है, और संख्याएँ तथा प्रतीक भी मूल्यांकित होते हैं।
- यदि विशेष अक्षर शामिल किए जाते हैं, तो परिणाम आपके अपेक्षित क्रम से मेल नहीं खा सकता।
Q3: MAX फ़ंक्शन और ORDER BY क्लॉज़ में क्या अंतर है?
A3: यद्यपि MAX फ़ंक्शन और ORDER BY क्लॉज़ समान उद्देश्यों की तरह लग सकते हैं, वे अलग तरह से कार्य करते हैं।
- MAX फ़ंक्शन: निर्दिष्ट कॉलम का अधिकतम मान सीधे प्राप्त करता है।
- ORDER BY क्लॉज़: निर्दिष्ट कॉलम के आधार पर डेटा को क्रमबद्ध करता है और आवश्यकतानुसार पहला या अंतिम मान प्राप्त करने की अनुमति देता है।
उदाहरण: ORDER BY का उपयोग करके अधिकतम मान प्राप्त करें
SELECT * FROM employees
ORDER BY salary DESC
LIMIT 1;
मुख्य बिंदु:
- प्रदर्शन के संदर्भ में MAX फ़ंक्शन अक्सर अधिक कुशल होता है।
- जब आपको अधिकतम मान वाले रिकॉर्ड के साथ अतिरिक्त जानकारी चाहिए, तब ORDER BY क्लॉज़ उपयोगी होता है।
Q4: क्या NULL मानों को शामिल करने पर MAX फ़ंक्शन सही ढंग से काम करता है?
A4: हाँ, MAX फ़ंक्शन NULL मानों को अनदेखा करता है। इसलिए, NULL मान अधिकतम मान की गणना को प्रभावित नहीं करते।
उदाहरण: जब NULL मान शामिल हों तो व्यवहार
SELECT MAX(salary) FROM employees;
डेटा:
| employee_id | name | salary |
|---|---|---|
| 1 | Tanaka | 60000 |
| 2 | Sato | NULL |
| 3 | Suzuki | 50000 |
परिणाम:
| MAX(salary) |
|---|
| 60000 |
महत्वपूर्ण नोट:
यदि आप प्रोसेसिंग में NULL मानों को शामिल करना चाहते हैं, तो IFNULL फ़ंक्शन का उपयोग करके NULL को डिफ़ॉल्ट मान से बदलें।
SELECT MAX(IFNULL(salary, 0)) FROM employees;
Q5: MAX फ़ंक्शन का उपयोग करते समय प्रदर्शन कैसे सुधारें?
A5: निम्नलिखित उपायों पर विचार करें:
- इंडेक्स जोड़ें: MAX फ़ंक्शन में उपयोग किए गए कॉलम पर इंडेक्स जोड़ने से क्वेरी प्रदर्शन में काफी सुधार हो सकता है।
CREATE INDEX idx_salary ON employees(salary);
- लक्षित डेटा को फ़िल्टर करें: प्रोसेस किए जाने वाले पंक्तियों की संख्या कम करने के लिए WHERE क्लॉज़ का उपयोग करें।
SELECT MAX(salary) FROM employees WHERE department_id = 1;
- क्वेरी को अनुकूलित करें: अनावश्यक गणनाओं को हटाएँ और क्वेरी संरचना को सरल रखें।
Q6: जब MAX को GROUP BY क्लॉज़ के साथ मिलाया जाता है तो क्या होता है?
A6: जब GROUP BY को MAX फ़ंक्शन के साथ मिलाते हैं, तो आप प्रत्येक समूह के लिए अधिकतम मान प्राप्त कर सकते हैं।
उदाहरण: प्रत्येक विभाग के लिए सबसे अधिक वेतन प्राप्त करें
SELECT department_id, MAX(salary)
FROM employees
GROUP BY department_id;
परिणाम:
| department_id | MAX(salary) |
|---|---|
| 1 | 120000 |
| 2 | 90000 |
Q7: यदि कई रिकॉर्ड अधिकतम मान साझा करते हैं, तो सभी को कैसे प्राप्त करें?
A7: अधिकतम मान साझा करने वाले सभी रिकॉर्ड को प्राप्त करने के लिए सबक्वेरी या JOIN का उपयोग करें।
उदाहरण: अधिकतम मान वाले सभी रिकॉर्ड प्राप्त करें
SELECT *
FROM employees
WHERE salary = (SELECT MAX(salary) FROM employees);
Q8: क्या MAX फ़ंक्शन को विंडो फ़ंक्शनों के साथ उपयोग किया जा सकता है?
A8: हाँ, MySQL 8.0 और बाद के संस्करणों में, आप अधिक लचीली क्वेरीज़ के लिए MAX को विंडो फ़ंक्शनों के साथ संयोजित कर सकते हैं।
उदाहरण: प्रत्येक विभाग के लिए सबसे अधिक वेतन वाले कर्मचारियों को प्राप्त करें
SELECT employee_id, name, salary, department_id
FROM (
SELECT *,
RANK() OVER (PARTITION BY department_id ORDER BY salary DESC) AS rnk
FROM employees
) ranked
WHERE rnk = 1;

8. सारांश
MySQL MAX फ़ंक्शन डेटाबेस संचालन और डेटा विश्लेषण के लिए एक शक्तिशाली उपकरण है। इस लेख में, हमने MAX फ़ंक्शन के मूल उपयोग से लेकर शर्तीय क्वेरी, समूहबद्धता, अधिकतम मान वाले पूर्ण रिकॉर्ड प्राप्त करने, और प्रदर्शन अनुकूलन तक सब कुछ व्यापक रूप से कवर किया है।
मुख्य बिंदु
MAX फ़ंक्शन का मूल उपयोग MAX फ़ंक्शन का उपयोग निर्दिष्ट कॉलम का अधिकतम मान प्राप्त करने के लिए किया जाता है। यह विभिन्न डेटा प्रकारों का समर्थन करता है, जिसमें संख्याएँ, स्ट्रिंग्स और तिथियाँ शामिल हैं।
शर्तीय अधिकतम पुनर्प्राप्ति
WHEREक्लॉज़ का उपयोग करके, आप विशिष्ट शर्तों से मेल खाने वाले अधिकतम मान प्राप्त कर सकते हैं। यह प्रोजेक्ट-आधारित या विभाग-आधारित विश्लेषण के लिए उपयोगी है।समूह के अनुसार अधिकतम मान प्राप्त करना हमने बताया कि
GROUP BYक्लॉज़ का उपयोग करके प्रत्येक समूह के लिए अधिकतम मान कैसे प्राप्त किए जाएँ, जैसे विभाग के अनुसार वेतन या महीने के अनुसार बिक्री।अधिकतम मान के साथ संपूर्ण रिकॉर्ड प्राप्त करना आपने सबक्वेरीज़, JOINs, और विंडो फ़ंक्शन्स का उपयोग करके अधिकतम मान वाले पूर्ण रिकॉर्ड को कुशलतापूर्वक प्राप्त करना सीखा।
MAX का उपयोग करते समय महत्वपूर्ण विचार NULL हैंडलिंग, कई अधिकतम मान, और प्रदर्शन प्रभाव को ध्यान में रखना महत्वपूर्ण है।
अक्सर पूछे जाने वाले प्रश्न हमने सामान्य प्रश्नों को संबोधित किया, जिसमें कई कॉलम के साथ MAX का उपयोग और प्रदर्शन अनुकूलन के टिप्स शामिल हैं।
अंतिम विचार
MAX फ़ंक्शन का सही उपयोग करके, डेटा विश्लेषण और रिपोर्टिंग बहुत अधिक कुशल हो जाती है। अधिक उन्नत क्वेरी बनाने के लिए SQL का अभ्यास जारी रखें।
हमें आशा है कि यह लेख MySQL का उपयोग करके डेटा हेरफेर और विश्लेषण की आपकी समझ को गहरा करने में मदद करेगा।


