Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

SQL सर्वर में MIN और MAX कुल कार्य

SQL सर्वर फ़ंक्शन

सामान्य रूप से डेटाबेस सिस्टम में और विशेष रूप से SQL सर्वर में, फ़ंक्शन कोड के टुकड़े होते हैं जो शून्य या एक इनपुट लेते हैं और एक आउटपुट या एक सरणी लौटाते हैं।

टेबल-वैल्यूड फंक्शन्स जो आमतौर पर यूजर-डिफ़ाइंड होते हैं, एक ऐरे को वापस कर सकते हैं, लेकिन इन-बिल्ट SQL सर्वर फंक्शन्स आमतौर पर स्केलर-वैल्यूड फंक्शन्स होते हैं। SQL सर्वर में कार्यों की तीसरी श्रेणी कुल-मूल्यवान कार्य हैं। MIN और MAX SQL सर्वर फ़ंक्शन समग्र-मूल्यवान फ़ंक्शन हैं।

विंडो फ़ंक्शंस एक अपेक्षाकृत नया वर्ग है। वे कुल कार्यों की तरह गणना करते हैं लेकिन वर्तमान पंक्ति से संबंधित पंक्तियों के एक सेट पर करते हैं। जबकि एक एग्रीगेट फ़ंक्शन एक कॉलम पर काम करके एक ही परिणाम प्राप्त करने की संभावना है, एक विंडो फ़ंक्शन प्रत्येक पंक्ति के लिए एक परिणाम प्राप्त करने की अधिक संभावना है।

SQL सर्वर फ़ंक्शंस वर्गीकरण डेटा प्रकार - स्ट्रिंग फ़ंक्शंस, न्यूमेरिक फ़ंक्शंस और दिनांक फ़ंक्शंस पर भी आधारित हो सकता है। हम यह अनुमान लगा सकते हैं कि स्ट्रिंग फ़ंक्शंस स्ट्रिंग मानों पर काम करते हैं, जैसे, LENGTH ()।

न्यूनतम और अधिकतम

MIN और MAX फ़ंक्शन बहुत ही सरल समग्र कार्य हैं। फिर भी, हम जिस डेटा सेट के साथ काम कर रहे हैं, उसके आधार पर वे कई तरह के सवालों के जवाब दे सकते हैं।

उदाहरण के लिए, जब हम सेलेक्ट स्टेटमेंट जारी करते हैं, तो हम SQL सर्वर से एक प्रश्न पूछ रहे होते हैं . इसलिए, हम कहते हैं कि हम एक क्वेरी . निष्पादित कर रहे हैं . SQL सर्वर से कॉलम में न्यूनतम और अधिकतम मानों के बारे में पूछने के लिए, हम निम्नलिखित सिंटैक्स का उपयोग करते हैं:

SELECT MIN(column_name) FROM table_name;
SELECT MAX(column_name) FROM table_name;

जब हम इस सिंटैक्स का उपयोग करते हैं, तो SQL सर्वर एकल मान देता है। इस प्रकार, हम MIN () और MAX () फ़ंक्शन स्केलर-वैल्यूड फ़ंक्शंस पर विचार कर सकते हैं।

लिस्टिंग 1 Sales.Orders से माल ढुलाई भार पर न्यूनतम और अधिकतम मान प्राप्त करने के लिए सरल कथन प्रदर्शित करता है इत्ज़िक बेंगन के TSQLV4 . की तालिका डेटाबेस:

-- Listing 1: Basic MIN() and MAX() Function Queries
USE TSQLV4
GO
SELECT * FROM [Sales].[Orders];

-- Without Column Aliases
SELECT MIN(freight) FROM [Sales].[Orders];
SELECT MAX(freight) FROM [Sales].[Orders];
-- Without Column Aliases
SELECT MIN(freight) min_freight FROM [Sales].[Orders];
SELECT MAX(freight) max_freight FROM [Sales].[Orders];

समूह द्वारा

“प्रति देश न्यूनतम और अधिकतम माल ढुलाई भार क्या हैं?” इस प्रश्न का उत्तर देने के लिए, हमें ग्रुप बाय . की आवश्यकता है खंड। उदाहरण नीचे दी गई सूची 2 में है।

क्वेरी पहले डेटा को शिपकंट्री, . द्वारा समूहित करती है और फिर यह प्रति देश क्रमशः न्यूनतम और अधिकतम मालभाड़ा भार लौटाता है। हम लिस्टिंग (सत्यापन) में अंतिम क्वेरी जारी करके इसकी पुष्टि कर सकते हैं।

-- Listing 2: MIN and MAX Freight By Country
-- Minimum by Country
SELECT shipcountry, MIN(freight) min_freight FROM [Sales].[Orders]
GROUP BY shipcountry;

-- Maximum by Country
SELECT shipcountry, MAX(freight) max_freight FROM [Sales].[Orders]
GROUP BY shipcountry;

-- Validation
SELECT * FROM [Sales].[Orders] WHERE shipcountry='Finland'
ORDER BY freight;

-- Listing 2: MIN and MAX Freight by Country
-- Minimum by Customer
SELECT custid, MIN(freight) min_freight FROM [Sales].[Orders]
GROUP BY custid;

-- Maximum by Customer
SELECT custid, MAX(freight) max_freight FROM [Sales].[Orders]
GROUP BY custid;


-- Validation
SELECT * FROM [Sales].[Orders] WHERE custid='23'
ORDER BY freight;

चित्र 3 परिणाम दिखाता है। हम दूसरे कॉलम के साथ भी कुछ ऐसा ही कर सकते हैं - कस्टिड कॉलम। इस मामले में, हम इस प्रश्न का उत्तर दे रहे हैं, “प्रत्येक ग्राहक के लिए न्यूनतम और अधिकतम भय क्या है?”

अधिक प्रश्न

हम यह पता लगाने के लिए डेटा की और जांच कर सकते हैं कि किन देशों का माल भाड़ा 1 से कम या 800 से अधिक है। हम HAVING का उपयोग करके ऐसा करते हैं। क्लॉज जो GROUP BY . द्वारा समूहों में विभाजित परिणामों को फ़िल्टर करता है खंड।

-- Listing 3: Introducing the HAVING Clause
SELECT shipcountry, MIN(freight) min_freight FROM [Sales].[Orders]
GROUP BY shipcountry
HAVING MIN(freight)<1;

SELECT shipcountry, MAX(freight) max_freight FROM [Sales].[Orders]
GROUP BY shipcountry
HAVING MAX(freight)>800;

तिथियों के साथ कार्य करना

दिनांकों पर MIN() और MAX() फ़ंक्शंस लागू करते समय, हम जल्द से जल्द देखने की अपेक्षा करते हैं और नवीनतम तिथियां क्रमशः। उदाहरणों पर एक नज़र डालें - दिनांक SQL सर्वर में आंतरिक रूप से पूर्णांक के रूप में संग्रहीत होते हैं।

-- Listing 4: Working with Dates
SELECT MIN(orderdate) earliest_date FROM [Sales].[Orders];
SELECT MAX(orderdate) latest_date FROM [Sales].[Orders];

हम यह पूछकर गहराई से खुदाई कर सकते हैं कि किस ग्राहक ने पहला ऑर्डर दिया और किस ग्राहक ने सबसे हाल का ऑर्डर दिया। उसके लिए, हम लिस्टिंग 5 में कोड का उपयोग कर रहे हैं। चित्र 6 दर्शाता है कि कस्टिड 85 ग्राहकों ने जल्द से जल्द ऑर्डर किया, जबकि कस्टिड 9 ग्राहक ने नवीनतम आदेश दिया।

-- Listing 5: Customer Order Dates
SELECT custid, MIN(orderdate) earliest_date FROM [Sales].[Orders]
GROUP BY custid
ORDER BY earliest_date;

SELECT custid, MAX(orderdate) latest_date FROM [Sales].[Orders]
GROUP BY custid
ORDER BY latest_date desc;

निष्कर्ष

इस लेख में, हमने संक्षेप में SQL सर्वर में MIN () और MAX () कुल कार्यों के उपयोग का प्रदर्शन किया। इन कार्यों की भूमिका तालिका कॉलम में संग्रहीत किसी दी गई श्रेणी के लिए न्यूनतम और अधिकतम मान लौटा रही है।

हम इन कार्यों के साथ और अधिक प्रश्नों का उत्तर अन्य टी-एसक्यूएल कमांड जैसे ग्रुप बाय, ऑर्डर बाय, और हैविंग क्लॉज के साथ जोड़कर दे सकते हैं।

बहुत सारे टूल ऐसे कार्य निष्पादन को सरल और तेज़ करते हैं, और आप अपनी आवश्यकताओं को पूरा करने वाला कोई भी समाधान चुन सकते हैं। उनमें से, Devart से SQL पूर्ण सभी आवश्यक जोड़तोड़ करता है और एक इन-प्लेस SSMS ग्रिड एग्रीगेट सुविधा प्रदान करता है जो ग्रिड में चयनित मानों के MIN, MAX और AVG की गणना करता है।


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL सर्वर एजेंट जॉब्स (T-SQL) की सूची वापस करने के 3 तरीके

  2. Node.js और Microsoft SQL सर्वर

  3. एसक्यूएल सर्वर समूह से पहली पंक्ति का चयन करें

  4. स्थानीय SQL सर्वर डेटाबेस सेट करना

  5. SQL सर्वर कर्सर के साथ Salesforce डेटा अपडेट कर रहा है