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

SQLite समूह द्वारा

सारांश :इस ट्यूटोरियल में, आप सीखेंगे कि SQLite GROUP BY का उपयोग कैसे करें पंक्तियों के एक सेट से सारांश पंक्तियों का एक सेट बनाने के लिए क्लॉज।

SQLite का परिचय GROUP BY खंड

GROUP BY क्लॉज SELECT . का एक वैकल्पिक क्लॉज है बयान। GROUP BY पंक्तियों के चयनित समूह को एक या अधिक स्तंभों के मानों के आधार पर सारांश पंक्तियों में विभाजित करें।

GROUP BY खंड प्रत्येक समूह के लिए एक पंक्ति देता है। प्रत्येक समूह के लिए, आप MIN . जैसे समग्र कार्य लागू कर सकते हैं , MAX , SUM , COUNT , या AVG प्रत्येक समूह के बारे में अधिक जानकारी प्रदान करने के लिए।

निम्न कथन SQLite GROUP BY . के सिंटैक्स को दर्शाता है खंड।

SELECT 
    column_1,
    aggregate_function(column_2) 
FROM 
    table
GROUP BY 
    column_1,
    column_2;
Code language: SQL (Structured Query Language) (sql)

इसे आज़माएं

GROUP BY क्लॉज FROM . के बाद आता है SELECT . का खंड बयान। यदि किसी स्टेटमेंट में WHERE . होता है क्लॉज, GROUP BY क्लॉज WHERE . के बाद आना चाहिए खंड।

GROUP BY का अनुसरण कर रहे हैं खंड एक स्तंभ या समूह को निर्दिष्ट करने के लिए उपयोग किए जाने वाले अल्पविराम से अलग किए गए स्तंभों की सूची है।

SQLite GROUP BY उदाहरण

हम tracks . का उपयोग करते हैं प्रदर्शन के लिए नमूना डेटाबेस से तालिका।

SQLite GROUP BY COUNT . के साथ क्लॉज समारोह

निम्न कथन एल्बम आईडी और प्रति एल्बम ट्रैक की संख्या देता है। यह GROUP BY . का उपयोग करता है समूह के लिए क्लॉज एल्बम द्वारा ट्रैक करता है और COUNT() . को लागू करता है प्रत्येक समूह के लिए कार्य करें।

SELECT
	albumid,
	COUNT(trackid)
FROM
	tracks
GROUP BY
	albumid;Code language: SQL (Structured Query Language) (sql)

इसे आज़माएं

आप ORDER BY का उपयोग कर सकते हैं समूहों को इस प्रकार क्रमबद्ध करने के लिए क्लॉज:

SELECT
	albumid,
	COUNT(trackid)
FROM
	tracks
GROUP BY
	albumid
ORDER BY COUNT(trackid) DESC;Code language: SQL (Structured Query Language) (sql)

इसे आज़माएं

SQLite GROUP BY और INNER JOIN खंड

आप INNER JOIN . का उपयोग करके एकाधिक तालिकाओं से डेटा क्वेरी कर सकते हैं खंड, फिर GROUP BY . का उपयोग करें पंक्तियों को सारांश पंक्तियों के समूह में समूहित करने के लिए खंड।

उदाहरण के लिए, निम्न कथन tracks से जुड़ता है albums के साथ तालिका एल्बम के शीर्षक प्राप्त करने के लिए तालिका और GROUP BY . का उपयोग करता है COUNT . के साथ क्लॉज प्रति एल्बम ट्रैक की संख्या प्राप्त करने के लिए कार्य करें।

SELECT
	tracks.albumid,
	title,
	COUNT(trackid)
FROM
	tracks
INNER JOIN albums ON albums.albumid = tracks.albumid
GROUP BY
	tracks.albumid;Code language: SQL (Structured Query Language) (sql)

इसे आज़माएं

SQLite GROUP BY HAVING . के साथ खंड

समूहों को फ़िल्टर करने के लिए, आप GROUP BY . का उपयोग करते हैं HAVING . के साथ खंड। उदाहरण के लिए, 15 से अधिक ट्रैक वाले एल्बम प्राप्त करने के लिए, आप निम्न कथन का उपयोग करते हैं:

SELECT
	tracks.albumid,
	title,
	COUNT(trackid)
FROM
	tracks
INNER JOIN albums ON albums.albumid = tracks.albumid
GROUP BY
	tracks.albumid
HAVING COUNT(trackid) > 15;Code language: SQL (Structured Query Language) (sql)

इसे आज़माएं

SQLite GROUP BY SUM . के साथ क्लॉज फ़ंक्शन उदाहरण

आप SUM . का उपयोग कर सकते हैं प्रति समूह कुल की गणना करने के लिए कार्य। उदाहरण के लिए, प्रत्येक एल्बम की कुल लंबाई और बाइट प्राप्त करने के लिए, आप SUM . का उपयोग करते हैं कुल मिलीसेकंड और बाइट्स की गणना करने के लिए कार्य करता है।

SELECT
	albumid,
	SUM(milliseconds) length,
	SUM(bytes) size
FROM
	tracks
GROUP BY
	albumid;Code language: SQL (Structured Query Language) (sql)

इसे आज़माएं

SQLite GROUP BY MAX . के साथ , MIN , और AVG कार्य

निम्न कथन tracks में एल्बम आईडी, एल्बम शीर्षक, अधिकतम लंबाई, न्यूनतम लंबाई और ट्रैक की औसत लंबाई लौटाता है टेबल।

SELECT
	tracks.albumid,
	title,
	min(milliseconds),
	max(milliseconds),
	round(avg(milliseconds),2)
FROM
	tracks
INNER JOIN albums ON albums.albumid = tracks.albumid
GROUP BY
	tracks.albumid;Code language: SQL (Structured Query Language) (sql)

इसे आज़माएं

SQLite GROUP BY एकाधिक कॉलम उदाहरण

पिछले उदाहरण में, हमने GROUP BY . में एक कॉलम का उपयोग किया है खंड। SQLite आपको पंक्तियों को एकाधिक स्तंभों द्वारा समूहित करने की अनुमति देता है।

उदाहरण के लिए, मीडिया प्रकार और शैली के आधार पर ट्रैक को समूहीकृत करने के लिए, आप निम्न कथन का उपयोग करते हैं:

SELECT
   MediaTypeId, 
   GenreId, 
   COUNT(TrackId)
FROM
   tracks
GROUP BY
   MediaTypeId, 
   GenreId;Code language: SQL (Structured Query Language) (sql)

इसे आज़माएं

SQLite MediaTypeId . के मानों के संयोजन का उपयोग करता है और GenreId एक समूह के रूप में कॉलम जैसे, (1,1) और (1,2)। इसके बाद यह COUNT . को लागू करता है प्रत्येक समूह में ट्रैक की संख्या वापस करने के लिए कार्य करता है।

SQLite GROUP BY दिनांक उदाहरण

नमूना डेटाबेस से निम्न चालान तालिका देखें:

निम्न कथन वर्षों के अनुसार चालान की संख्या लौटाता है।

SELECT
   STRFTIME('%Y', InvoiceDate) InvoiceYear, 
   COUNT(InvoiceId) InvoiceCount
FROM
   invoices
GROUP BY
   STRFTIME('%Y', InvoiceDate)
ORDER BY
   InvoiceYear;Code language: SQL (Structured Query Language) (sql)

यहाँ आउटपुट है:

इस उदाहरण में:

  • फ़ंक्शन STRFTIME('%Y', InvoiceDate) दिनांक स्ट्रिंग से एक वर्ष लौटाता है।
  • GROUP BY खंड इनवॉइस को वर्षों के अनुसार समूहित करता है।
  • फ़ंक्शन COUNT() प्रत्येक वर्ष (या समूह) में चालान की संख्या लौटाता है।

इस ट्यूटोरियल में, आपने सीखा है कि SQLite GROUP BY . का उपयोग कैसे किया जाता है पंक्तियों को सारांश पंक्तियों के समूह में समूहित करने के लिए खंड।


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQLiteAssetHelper के साथ संस्करण संख्या में + का उपयोग करने से कैसे बचें?

  2. SQLite में डुप्लिकेट पंक्तियों का चयन करने के 6 तरीके

  3. SQLite क्रॉस एक व्यावहारिक उदाहरण के साथ शामिल हों

  4. SQLite ब्राउज़र क्या है और इसका उपयोग कैसे करें?

  5. जेनरेटेड कॉलम क्या है?