पहली नज़र में, MySQL MAX()
और GREATEST()
फ़ंक्शन एक समान ऑपरेशन करते हैं। वे दोनों मानों की श्रेणी से अधिकतम मान लौटाते हैं। हालाँकि, इन दोनों कार्यों में अंतर है।
इन दो कार्यों के बीच अंतर देखने का सबसे अच्छा तरीका उनके सिंटैक्स की तुलना करना है।
सिंटैक्स
प्रत्येक फ़ंक्शन का सिंटैक्स इस प्रकार है:
MAX([DISTINCT] expr) [over_clause] GREATEST(value1,value2,...)
तो पहले से ही, वे पूरी तरह से अलग दिखते हैं। MAX()
फ़ंक्शन DISTINCT
स्वीकार करता है कीवर्ड के साथ-साथ एक OVER
खंड (और GREATEST()
फ़ंक्शन नहीं करता है)।
हालाँकि, इन दो कार्यों के बीच महत्वपूर्ण अंतर स्वीकृत तर्कों में है। विशेष रूप से:
MAX()
एक तर्क स्वीकार करता हैGREATEST()
अनेक तर्कों को स्वीकार करता है
तो MAX()
आमतौर पर डेटाबेस में कॉलम में अधिकतम मान वापस करने के लिए उपयोग किया जाता है। तालिका में कई पंक्तियाँ हो सकती हैं, लेकिन यह फ़ंक्शन अधिकतम मान वाला एक लौटाता है।
GREATEST()
दूसरी ओर, इसे पारित तर्कों की सूची से अधिकतम-मूल्यवान तर्क देता है। तो आप इस फ़ंक्शन के लिए 3 तर्क कह सकते हैं और यह सबसे बड़े मूल्य के साथ लौटाएगा।
उदाहरण 1 - MAX() फ़ंक्शन
MAX()
को प्रदर्शित करने के लिए यहां एक उदाहरण दिया गया है समारोह।
SELECT MAX(Population) AS 'Result' FROM City;
परिणाम:
+----------+ | Result | +----------+ | 10500000 | +----------+
यह उदाहरण City
. से सबसे अधिक जनसंख्या वाले शहर का पता लगाता है टेबल। प्रत्येक शहर की जनसंख्या वाले कॉलम को Population
. कहा जाता है ।
इस उदाहरण के बारे में मुख्य बिंदु यह है कि फ़ंक्शन को केवल एक तर्क दिया गया था, लेकिन कई पंक्तियों को क्वेरी किया गया था।
यदि आप MAX()
. पर एकाधिक तर्क पारित करने का प्रयास करते हैं फ़ंक्शन आपको एक त्रुटि मिलेगी।
उदाहरण 2 - ग्रेटेस्ट () फ़ंक्शन
GREATEST()
को प्रदर्शित करने के लिए यहां एक उदाहरण दिया गया है समारोह।
SELECT GREATEST(1, 5, 9) AS 'Result';
परिणाम:
+--------+ | Result | +--------+ | 9 | +--------+
तो इस मामले में, हम तीन तर्क प्रदान करते हैं। प्रत्येक तर्क की तुलना दूसरे से की जाती है। यह MAX()
. को दिए गए एकल तर्क के विपरीत है समारोह।
यदि आप GREATEST()
. के लिए एक भी तर्क पारित करने का प्रयास करते हैं फ़ंक्शन आपको एक त्रुटि मिलेगी।