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

SQLite मैक्स () कैसे काम करता है

SQLite max() फ़ंक्शन किसी समूह में सभी मानों से अधिकतम मान लौटाता है।

अधिकतम मान वह मान है जो ORDER BY . का उपयोग करने वाली क्वेरी में आखिरी बार दिखाई देगा एक ही कॉलम पर क्लॉज।

उदाहरण

प्रदर्शित करने के लिए यहां एक उदाहरण दिया गया है।

SELECT max(Price) FROM Products;

परिणाम:

389.45

यहां एक क्वेरी है जो उस तालिका की सभी पंक्तियां लौटाती है।

SELECT * FROM Products 
ORDER BY Price;

परिणाम:

ProductId   ProductName  Price     
----------  -----------  ----------
5           Red Widget             
3           Widget Open  89.27     
4           Foobar Set   120.0     
2           Widget Hold  139.5     
1           Blue Widget  389.45    
. को होल्ड करें

ध्यान दें कि पहली पंक्ति में मूल्य के लिए NULL मान है। max() फ़ंक्शन इसे अनदेखा करता है, क्योंकि अन्य पंक्तियों में गैर-शून्य मान होते हैं। यदि सभी पंक्तियाँ NULL थीं, तो max() NULL लौटाएगा।

मैंने ORDER BY . का उपयोग किया है इस उदाहरण में खंड। जैसा कि बताया गया है, max() फ़ंक्शन वह मान लौटाता है जो इस क्लॉज़ का उपयोग करते समय अंतिम दिखाई देता है (यह मानते हुए कि आप कॉलम को आरोही क्रम में ऑर्डर करते हैं, जो कि डिफ़ॉल्ट है)।

स्पष्ट होने के लिए, मैं उसी परिणाम के लिए निम्नलिखित का उपयोग कर सकता था:

SELECT * FROM Products 
ORDER BY Price ASC;

Max() को काउंट के साथ मिलाएं()

यहां एक उदाहरण दिया गया है जो max() . को जोड़ती है count() . के साथ कार्य करें अधिकतम गिनती वापस करने के लिए कार्य करें।

SELECT max(AlbumCount) 
FROM (SELECT ArtistId, count(Title) AS AlbumCount
FROM Album
GROUP BY ArtistId);

परिणाम:

21       

हम ORDER BY . के साथ एक अन्य क्वेरी चलाकर इसे सत्यापित कर सकते हैं खंड।

SELECT 
  ar.Name, 
  count(al.Title) AS AlbumCount
FROM Album al
INNER JOIN Artist ar
ON ar.ArtistId = al.ArtistId
GROUP BY ar.Name
ORDER BY AlbumCount DESC
LIMIT 10;

परिणाम:

Name                  AlbumCount
--------------------  ----------
Iron Maiden           21        
Led Zeppelin          14        
Deep Purple           11        
Metallica             10        
U2                    10        
Ozzy Osbourne         6         
Pearl Jam             5         
Faith No More         4         
Foo Fighters          4         
Lost                  4                

शून्य मानों से निपटना

जैसा कि उल्लेख किया गया है, यदि समूह में कोई गैर-शून्य मान नहीं हैं (अर्थात सभी मान NULL हैं), तो max() शून्य लौटाता है।

SELECT 
  max(123),
  max(NULL);

परिणाम:

max(123)    max(NULL) 
----------  ----------
123                   

स्ट्रिंग्स पर Max() का उपयोग करना

जैसा कि बताया गया है, max() वह मान लौटाता है जो ORDER BY . का उपयोग करके पिछली बार लौटाया जाएगा खंड (यह मानते हुए कि यह डिफ़ॉल्ट आरोही क्रम का उपयोग कर रहा है)।

यही अवधारणा स्ट्रिंग्स पर लागू होती है।

SELECT max(ProductName) FROM Products;

परिणाम:

Widget Opener

तो यह स्ट्रिंग को अधिकतम वर्णों या उसके जैसा कुछ भी वापस नहीं करता है।

हम ORDER BY . का उपयोग करके एक क्वेरी के साथ इस परिणाम को सत्यापित कर सकते हैं खंड।

SELECT * FROM Products 
ORDER BY ProductName;

परिणाम:

ProductId   ProductName            Price     
----------  ---------------------  ----------
1           Blue Widgets (6 Pack)  389.45    
4           Foobar Set             120.0     
5           Red Widget                       
2           Widget Holder          139.5     
3           Widget Opener          89.27     

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQLite में दो तिथियों के बीच अंतर की गणना कैसे करें

  2. SQLite में विदेशी कुंजी समर्थन कैसे सक्षम करें

  3. डेटाबेस को रीड/राइट मोड में खोलने में सक्षम नहीं है

  4. एंड्रॉइड में लिस्ट व्यू में क्वेरी हटाएं और रीफ्रेश करें (एसक्लाइट)

  5. संपादन टेक्स्ट और बटन का उपयोग करके डेटाबेस में डेटा संग्रहीत करना