सारांश :इस ट्यूटोरियल में, आप सीखेंगे कि 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
. का उपयोग कैसे किया जाता है पंक्तियों को सारांश पंक्तियों के समूह में समूहित करने के लिए खंड।