mysql count count distinct with examples
उदाहरण के साथ MySQL COUNT फ़ंक्शन के विभिन्न रूपों के उपयोग के बारे में जानें:
COUNT एक साधारण कुल कार्य है, फिर भी बहुत प्रभावी और व्यापक रूप से उपयोग किया जाता है। बहुत ही सरल शब्दों में, यह किसी चयनित क्वेरी और मानदंड के विरुद्ध पंक्तियों की संख्या की गणना करने के लिए उपयोग किया जाता है।
यह ट्यूटोरियल सिंटैक्स और सिंपल COUNT के उपयोग, शर्तों के साथ COUNT, DISTINCT के साथ COUNT, ग्रुप के साथ COUNT, आदि की व्याख्या करेगा।
आप क्या सीखेंगे:
MySQL COUNT के विभिन्न प्रकार
प्रकार | विवरण | वाक्य - विन्यास |
---|---|---|
COUNT (*) | COUNT (*) फ़ंक्शन सं। NULL और डुप्लिकेट मान वाली पंक्तियों सहित SELECT स्टेटमेंट द्वारा प्राप्त पंक्तियों की पंक्तियाँ | COUNT (*) से {tableName} चुनें |
COUNT (अभिव्यक्ति) | COUNT (अभिव्यक्ति) उस मान की गणना करेगा जहाँ अभिव्यक्ति शून्य नहीं है। अभिव्यक्ति स्तंभ नाम या एक जटिल अभिव्यक्ति जैसे IF फ़ंक्शन जैसे कुछ सरल हो सकती है। | {TableName} से चयनित COUNT (अभिव्यक्ति) |
COUNT (DISTINCT अभिव्यक्ति) | COUNT (DISTINCT अभिव्यक्ति) - DISTINCT कीवर्ड अभिव्यक्ति के विरुद्ध केवल अद्वितीय गैर अशक्त मानों को गिनने में परिणत होगा। उदाहरण के लिए - COUNT (DISTINCT customerName) - केवल ग्राहक नाम के लिए अलग मान वाली पंक्तियों की गणना करेगा | {टेबलनाम} से चयनित COUNT (DISTINCT अभिव्यक्ति) |
MySQL COUNT उदाहरण
परीक्षण डेटा
हम MySQL COUNT फ़ंक्शन के उदाहरणों के लिए निम्न तालिकाओं और डेटा का उपयोग करेंगे।
तालिकाएँ:
# 1) Product_Details
स्टोर में विभिन्न उत्पादों के भंडार का विवरण
- product_id - INT
- product_name - वर्कर
- मूल्य - DECIMAL
- Category_id - INT (FOREIGN KEY - id from Category_Details table)
# 2) श्रेणी_ विवरण:
- category_id: INT
- category_name: VARCHAR
आइए नीचे सारणी बनाएं और नीचे दिए गए प्रश्नों का उपयोग करके डमी डेटा डालें:
CREATE TABLE `product_details` ( `product_id` int NOT NULL, `product_name` varchar(100), `price` decimal(5,2), `category_id` int, FOREIGN KEY (category_id) REFERENCES category_details(category_id), PRIMARY KEY(product_id) ) CREATE TABLE `category_details` ( `category_id` int NOT NULL, `category_name` varchar(100), PRIMARY KEY(category_id) ) INSERT INTO `category_details` (`category_id`,`category_name`) VALUES (1,'FMCG'),(2,'FURNITURE'),(3,'FASHION'),(4,'APPLIANCES'),(5,'ELECTRONICS'); INSERT INTO `product_details` (`product_id`,`product_name`,`price`,`category_id`) VALUES (1,'Biscuits',0.5,1),(2,'Chocolates',1,1), (3, 'Washing Powder',5,1),(4, 'Apple IPhone', 500,5), (5, 'Batteries',2,5),(6,'Floor cleaner',2.5,1),(7,'Jeans- Levis',100,1),(8,'Mixer grinder',50,4),(9,'Capsicum',2,1),(10,'Sugar',1,1),(11,'Study Table',50,2);
कृपया ऊपर दिए गए परीक्षण डेटा के साथ तालिकाओं की छवियों को देखें।
Product_Details तालिका
श्रेणी_ तालिकाएँ
सरल COUNT
इस खंड में, हम COUNT फ़ंक्शन को सबसे सरल तरीके से देखेंगे।
हम किसी भी NULL या DISTINCT चेक के बिना पंक्तियों की संख्या वापस करने के लिए COUNT का उपयोग करेंगे।
SELECT COUNT(*) FROM product_details;
आउटपुट:
COUNT (*) |
---|
ग्यारह |
उपरोक्त क्वेरी के साथ, हम केवल चयनित स्टेटमेंट के विरूद्ध दी गई पंक्तियों की संख्या प्राप्त करेंगे।
शर्तों के साथ COUNT
अब हम शर्तों या स्तंभ मानों के साथ COUNT फ़ंक्शन का उपयोग करेंगे।
उदाहरण: मान लीजिए हम कोई गिनती नहीं करना चाहते हैं। उन पंक्तियों में जहां उत्पाद-नामों के लिए कोई गैर-शून्य मान नहीं हैं।
हम COUNT फ़ंक्शन में अभिव्यक्ति के रूप में product_name (या किसी भी दिए गए कॉलम नाम) को जोड़ सकते हैं, जिसके परिणामस्वरूप NON NULL product_name पंक्तियों वाली पंक्तियों की गणना होगी।
SELECT COUNT(product_name) FROM product_details;
इस स्थिति में, आउटपुट 11 होगा (चूंकि सभी परीक्षण डेटा में पहले से ही product_name कॉलम के मान हैं)
आउटपुट:
COUNT (product_name) |
---|
ग्यारह |
चलिए एक नई पंक्ति जोड़ते हैं, जिसमें product_name के लिए NULL मान है।
INSERT INTO `product_details` (`product_id`,`product_name`,`price`,`category_id`) VALUES (12,NULL,0.5,1);
SELECT COUNT(product_name) from product_details;
उपरोक्त COUNT क्वेरी में NON NULL product_name वाली सभी पंक्तियों की गिनती वापस आ जाएगी।
चूंकि हमने NULL product_name के साथ एक पंक्ति डाली थी, इसलिए इसे परिणामों में नहीं लौटाया जाएगा। तो आउटपुट अभी भी 11 पंक्तियों का होगा।
आउटपुट:
COUNT (product_name) |
---|
ग्यारह |
DISTINCT के साथ COUNT
पिछले उदाहरणों में, हमने एक अभिव्यक्ति के साथ COUNT फ़ंक्शन का उपयोग किया। हम सभी NON NULL मान प्राप्त करने के लिए DISTINCT कमांड के साथ अभिव्यक्ति को भी जोड़ सकते हैं, जो कि UNIQUE भी हैं।
DISTINCT श्रेणी_id को product_details तालिका से प्राप्त करने का प्रयास करें।
SELECT COUNT(DISTINCT category_id) from product_details;
आउटपुट:
कैसे जावा में कार्य करने के लिए सरणी पास करने के लिए
COUNT (DISTINCT श्रेणी_id) |
---|
४ |
जैसा कि आप ऊपर देख सकते हैं - आउटपुट 4 है, जो कुल संख्या का प्रतिनिधित्व करता है। के श्रेणी_ की तालिका उत्पाद_डेट्स
ग्रुप के साथ सहयोग करें
आइए एक उदाहरण देखें जहां हम ग्रुप BY के साथ COUNT का उपयोग करना चाहते हैं। यह एक महत्वपूर्ण संयोजन है जहां हम एक समूहीकृत कॉलम के खिलाफ एक COUNT प्राप्त कर सकते हैं और लक्ष्य समूहित कॉलम के विभिन्न मूल्यों के आधार पर डेटा का विश्लेषण कर सकते हैं।
उदाहरण के लिए: नहीं मिल रहा है। product_details टेबल से प्रत्येक श्रेणी के खिलाफ उत्पादों की।
SELECT category_id, COUNT(*) FROM product_details GROUP BY category_id;
श्रेणी ID | COUNT (*) |
---|---|
1 | । |
दो | 1 |
४ | 1 |
५ | दो |
जैसा कि हम ऊपर देख सकते हैं, प्रत्येक श्रेणी_ के खिलाफ COUNT (*) कॉलम प्रत्येक श्रेणी_आईडी से संबंधित पंक्तियों की संख्या का प्रतिनिधित्व करता है।
IF के साथ COUNT
आइए COUNT फ़ंक्शन के अंदर IF स्थिति का उपयोग करने का एक उदाहरण देखें। हम COUNT फ़ंक्शन के अंदर एक IF अभिव्यक्ति रख सकते हैं और झूठी स्थिति के लिए NULL का मान सेट करते हैं और सही स्थिति के लिए कोई भी गैर-शून्य मान।
प्रत्येक NON NULL मान को एक ही पंक्ति w.r.t COUNT फ़ंक्शन के रूप में गिना जाएगा।
उदाहरण के लिए: 20 डॉलर की कीमत सीमा के भीतर सभी उत्पादों को खोजने के लिए COUNT फ़ंक्शन का उपयोग करें।
SELECT COUNT(IF(price >0 AND price<20, 1, NULL)) AS count_less_than_20 FROM product_details;
आउटपुट:
count_less_than_20 |
---|
। |
उपरोक्त क्वेरी में, हमने उन सभी उत्पादों का COUNT प्राप्त किया है जिनकी मूल्य सीमा 0 और 20 के बीच है। FALSE स्थिति के लिए, हमने NULL के लिए मान निर्धारित किया है, जिसकी गणना नहीं की जाती है, जब विभिन्न स्तंभ मानों के लिए पंक्ति का मूल्यांकन किया जाता है ।
जॉयस के साथ सहयोग करें
COUNT का उपयोग JOIN कथनों के साथ किया जा सकता है। चूंकि COUNT नंबर पर लागू होता है। पंक्तियों के साथ, यह एक एकल तालिका या एकाधिक तालिका पर JOINS का उपयोग करके संचालित क्वेरी के किसी भी संयोजन के साथ इस्तेमाल किया जा सकता है।
उदाहरण: दोनों product_details और category_details टेबल से जुड़ें और product_details टेबल से category_name द्वारा गणना करें।
SELECT category_name, COUNT(category_name) from product_details pd INNER JOIN category_details cd ON cd.category_id = pd.category_id GROUP BY category_name;
आउटपुट:
श्रेणी नाम | COUNT (category_name) |
---|---|
एफएमसीजी | । |
फर्नीचर | 1 |
उपकरण | 1 |
इलेक्ट्रॉनिक्स | दो |
टिप और ट्रिक
स्तंभ फ़ंक्शन के परिणाम प्रदर्शित करने वाले स्तंभ के लिए स्तंभ उपनाम का उपयोग करना: हम COUNT फ़ंक्शन के परिणामों को प्रदर्शित करने वाले स्तंभ के लिए उपयोगकर्ता परिभाषित स्तंभ नामों के लिए COUNT फ़ंक्शन के साथ एक कॉलम उपनाम का उपयोग कर सकते हैं।
उदाहरण के लिए: मान लें कि हम श्रेणी_ श्रेणी तालिका में श्रेणियों की संख्या गिनना चाहते हैं और परिणामी कॉलम को श्रेणी_काउंट के रूप में नामित करते हैं, हम क्वेरी के नीचे काम कर सकते हैं:
SELECT COUNT(*) as category_count from category_details;
आउटपुट:
category_count |
---|
५ |
बार बार पूछे जाने वाले प्रश्न
Q # 1) मैं MySQL में COUNT फ़ंक्शन का उपयोग कैसे करूँ?
उत्तर: COUNT फ़ंक्शन एक समग्र फ़ंक्शन है जिसे 3 तरीकों से उपयोग किया जा सकता है।
- COUNT (*) - यह SELECT QUERY द्वारा दी गई सभी पंक्तियों को COUNT करेगा।
- COUNT (अभिव्यक्ति) - यह अभिव्यक्ति के लिए सभी गैर-पूर्ण मानों की गणना करेगा।
- COUNT (DISTINCT अभिव्यक्ति) - यह अभिव्यक्ति के खिलाफ सभी गैर-पूर्ण और अद्वितीय मूल्यों का समर्थन करेगा।
Q # 2) SQL में Count (*) और Count (1) में क्या अंतर है?
उत्तर: दोनों कथन एक समान व्यवहार करते हैं। MySQL की COUNT की परिभाषा से, कोष्ठक में कुछ भी () एक अभिव्यक्ति है - और कोई भी NON NULL मान 1 के रूप में गिना जाएगा।
तो इस स्थिति में, दोनों * और 1 को NON NULL के रूप में माना जाता है और उसी परिणाम को लौटाया जाता है यानी नीचे दिए गए दोनों प्रश्नों का परिणाम समान होगा।
SELECT COUNT(*) from product_details; SELECT COUNT(1) from product_details;
निष्कर्ष
इस ट्यूटोरियल में, हमने COUNT फ़ंक्शन और MySQL द्वारा प्रदान की गई विभिन्न भिन्नताओं के बारे में सीखा।
हमने यह भी देखा कि कैसे हम COUNT को विभिन्न परिदृश्यों के साथ उपयोग कर सकते हैं, जैसे COUNT को GROUP BY के साथ संयोजन करना और COUNT फ़ंक्शन में IF फ़ंक्शन लिखना।
COUNT फ़ंक्शन MySQL में सबसे महत्वपूर्ण और व्यापक रूप से उपयोग किए जाने वाले फ़ंक्शन में से एक है और इसका उपयोग बड़े पैमाने पर डेटा को एक या अधिक तालिकाओं के लिए निर्दिष्ट स्थितियों के आधार पर करने के लिए किया जाता है।
अनुशंसित पाठ
- MySQL अलर्ट - MySQL में एक टेबल पर कॉलम कैसे जोड़ें
- MySQL CONCAT और GROUP_CONCAT कार्य उदाहरण के साथ
- MySQL निर्माता का उपयोग करें: MySQL में नए उपयोगकर्ता कैसे बनाएं
- MySQL जॉय ट्यूटोरियल: इनर, आउटर, क्रॉस, लेफ्ट, राइट एंड सेल्फ
- MySQL LIKE - सिंटैक्स और यूसेज उदाहरणों के साथ ट्यूटोरियल
- MySQL ग्रुप क्लॉज - उदाहरणों के साथ ट्यूटोरियल
- MySQL पदार्थ और उदाहरण के साथ Substring_Index कार्य
- कोड उदाहरणों के साथ MySQL क्रिएट ट्यूटोरियल देखें