SQL में COUNT का उपयोग कैसे करें
परिचय
- COUNT( ) SQL में एक समग्र कार्य है।
- यदि शर्त निर्दिष्ट नहीं है तो यह फ़ंक्शन तालिका में रिकॉर्ड की संख्या की गणना करता है।
- यदि शर्त निर्दिष्ट है, तो गिनती फ़ंक्शन निर्दिष्ट शर्त को पूरा करने वाले रिकॉर्ड की संख्या लौटाता है।
विविधताएं COUNT SQL में ( )
- COUNT(*)
COUNT (*) तालिका में मौजूद रिकॉर्ड की संख्या प्रदर्शित करने के लिए प्रयोग किया जाता है।
COUNT (*) फ़ंक्शन के परिणामों में NULL के साथ-साथ डुप्लिकेट प्रविष्टियां भी शामिल होंगी।
वाक्यविन्यास:
SELECT COUNT (*) FROM tablename;
उदाहरण:
सबसे पहले हम "employeedb" नाम से एक डेटाबेस तैयार करेंगे। फिर उस डेटाबेस में हम एक टेबल "कर्मचारी" बनाएंगे और टेबल में रिकॉर्ड डालेंगे। हम बाद के सभी उदाहरणों के लिए इस तालिका और डेटाबेस पर विचार करेंगे।
हम COUNT () फ़ंक्शन का उपयोग करके 'कर्मचारी' तालिका में मौजूद रिकॉर्ड्स की संख्या पाएंगे।
mysql> USE employeedb; Database changed mysql> SELECT *FROM employee; +--------+----------+------------+ | Emp_ID | Emp_Name | Emp_Salary | +--------+----------+------------+ | 1 | Nikita | 30000 | | 2 | Riddhi | 25000 | | 3 | Nayan | 45000 | | 4 | Shruti | 15000 | | 5 | Anurati | 55000 | | 6 | NULL | NULL | | 7 | Anurati | 55000 | +--------+----------+------------+ 7 rows in set (0.00 sec)
mysql> SELECT COUNT(*) FROM employee;
आउटपुट:
+----------+ | COUNT(*) | +----------+ | 7 | +----------+ 1 row in set (0.00 sec)
कर्मचारी तालिका में 7 रिकॉर्ड मौजूद हैं।
- COUNT (1)
COUNT (1) का उपयोग किसी तालिका में मौजूद रिकॉर्ड की संख्या को प्रदर्शित करने के लिए भी किया जाता है। COUNT (1) फ़ंक्शन के परिणामों में NULL के साथ-साथ डुप्लिकेट प्रविष्टियाँ भी शामिल होंगी। COUNT (1) फ़ंक्शन COUNT (*) के समान कार्य करता है। यहां तक कि COUNT (1) और COUNT (*) के परिणाम भी समान हैं।
वाक्यविन्यास:
SELECT COUNT (1) FROM tablename;
उदाहरण 1: हम COUNT (1) का उपयोग करके कर्मचारी तालिका में मौजूद रिकॉर्ड्स की संख्या प्रदर्शित करेंगे।
mysql> SELECT COUNT(1) FROM employee;
आउटपुट:
+----------+ | COUNT(1) | +----------+ | 7 | +----------+ 1 row in set (0.00 sec)
एक टेबल में 7 रिकॉर्ड मौजूद होते हैं।
उदाहरण 2:
आइए देखें कि क्या होता है जब हम COUNT() फ़ंक्शन के पैरामीटर के रूप में 14 पास करते हैं।
mysql> SELECT COUNT(14) FROM employee;
आउटपुट:
+-----------+ | COUNT(14) | +-----------+ | 7 | +-----------+ 1 row in set (0.00 sec)
एक तालिका में 7 रिकॉर्ड मौजूद हैं। तो, 7 को आउटपुट के रूप में प्रदर्शित किया जाता है, भले ही हमने COUNT() फ़ंक्शन के पैरामीटर के रूप में 14 पास किया हो। एक पूर्णांक को COUNT () फ़ंक्शन में पास करने का अर्थ तालिका में पंक्तियों की संख्या की गणना करना नहीं है। इसका सीधा सा मतलब है कि तालिका में मौजूद प्रत्येक पंक्ति को 14 असाइन किया जाएगा और फिर उन पंक्तियों को कुल मिलाकर आउटपुट के रूप में प्रदर्शित करने के लिए सारांशित किया जाएगा।
उदाहरण 3:
आइए देखें कि क्या होता है जब हम -14 को COUNT() फ़ंक्शन के पैरामीटर के रूप में पास करते हैं।
mysql> SELECT COUNT(-14) FROM employee;
आउटपुट:
+------------+ | COUNT(-14) | +------------+ | 7 | +------------+ 1 row in set (0.07 sec)
एक तालिका में 7 रिकॉर्ड मौजूद हैं। इसलिए, 7 को आउटपुट के रूप में प्रदर्शित किया जाता है, भले ही हम -14 को COUNT() फ़ंक्शन के पैरामीटर के रूप में पास कर चुके हों। इसका सीधा सा मतलब है -14 को एक टेबल में मौजूद हर पंक्ति को सौंपा जाएगा और फिर उन पंक्तियों को कुल मिलाकर आउटपुट के रूप में प्रदर्शित किया जाएगा।
- COUNT(ColumnName)
COUNT(ColumnName) का उपयोग उन रिकॉर्ड्स की संख्या को खोजने के लिए किया जाता है जिनमें निर्दिष्ट कॉलम के लिए मान होते हैं। एक पैरामीटर के रूप में कॉलमनाम के साथ COUNT () फ़ंक्शन का उपयोग करते समय, उस रिकॉर्ड के लिए NULL मान वाले रिकॉर्ड को अनदेखा कर दिया जाएगा।
वाक्यविन्यास:
SELECT COUNT(ColumnName) FROM tablename;
उदाहरण 1:
हम Emp_ID के लिए मौजूद रिकॉर्ड्स की संख्या प्रदर्शित करेंगे।
mysql> SELECT COUNT(Emp_ID) FROM employee;
आउटपुट:
+---------------+ | COUNT(Emp_ID) | +---------------+ | 7 | +---------------+ 1 row in set (0.00 sec)
ऐसे 7 रिकॉर्ड हैं जिनमें अद्वितीय Emp_ID है। इसलिए, 7 को आउटपुट के रूप में प्रदर्शित किया जाता है।
उदाहरण 2:
हम Emp_Name के लिए मौजूद रिकॉर्ड्स की संख्या प्रदर्शित करेंगे।
mysql> SELECT COUNT(Emp_Name) FROM employee;
आउटपुट:
+-----------------+ | COUNT(Emp_Name) | +-----------------+ | 6 | +-----------------+ 1 row in set (0.00 sec)
कर्मचारी तालिका में 7 रिकॉर्ड हैं, जिनमें से एक रिकॉर्ड में Emp_Name के लिए NULL मान हैं। इसलिए, उस विशेष रिकॉर्ड को अनदेखा कर दिया जाता है और 6 को आउटपुट के रूप में प्रदर्शित किया जाता है।
उदाहरण 3:
हम Emp_Salary के लिए मौजूद रिकॉर्ड्स की संख्या प्रदर्शित करेंगे।
mysql> SELECT COUNT(Emp_Salary) FROM employee;
आउटपुट:
+-------------------+ | COUNT(Emp_Salary) | +-------------------+ | 6 | +-------------------+ 1 row in set (0.00 sec)
कर्मचारी तालिका में 7 रिकॉर्ड हैं जिनमें से एक रिकॉर्ड में Emp_Salary के लिए NULL मान हैं। इसलिए, उस विशेष रिकॉर्ड को अनदेखा कर दिया जाता है और 6 को आउटपुट के रूप में प्रदर्शित किया जाता है।
- COUNT(DISTINCT ColumnnName)
DISTINCT ColumnName के साथ COUNT () फ़ंक्शन इसके पैरामीटर के रूप में रिकॉर्ड की संख्या प्रदर्शित करने के लिए उपयोग किया जाता है जिसमें एक विशिष्ट कॉलम के लिए अद्वितीय मान होते हैं। डुप्लिकेट और NULL मान वाले रिकॉर्ड की गणना नहीं की जाएगी।
वाक्यविन्यास:
SELECT COUNT(DISTINCT ColumnName) FROM tablename;
उदाहरण 1:
हम उन अभिलेखों की संख्या प्रदर्शित करेंगे जिनमें Emp_ID के लिए अद्वितीय मान हैं।
mysql> SELECT COUNT( DISTINCT Emp_ID) FROM employee;
आउटपुट:
+-------------------------+ | COUNT( DISTINCT Emp_ID) | +-------------------------+ | 7 | +-------------------------+ 1 row in set (0.05 sec)
ऐसे 7 रिकॉर्ड हैं जिनमें Emp_ID के लिए अद्वितीय मान हैं।
उदाहरण 2:
हम उन अभिलेखों की संख्या प्रदर्शित करेंगे जिनमें Emp_Name के लिए अद्वितीय मान हैं।
mysql> SELECT COUNT( DISTINCT Emp_Name) FROM employee;
आउटपुट:
+---------------------------+ | COUNT( DISTINCT Emp_Name) | +---------------------------+ | 5 | +---------------------------+ 1 row in set (0.00 sec)
ऐसे 5 रिकॉर्ड हैं जिनमें Emp_Name के लिए अद्वितीय मान हैं। Emp_Name में NULL और डुप्लिकेट मानों पर DISTINCT कीवर्ड द्वारा विचार नहीं किया जाएगा।
उदाहरण 3:
हम उन अभिलेखों की संख्या प्रदर्शित करेंगे जिनमें Emp_Salary के लिए अद्वितीय मान हैं।
mysql> SELECT COUNT( DISTINCT Emp_Salary) FROM employee;
आउटपुट:
+-----------------------------+ | COUNT( DISTINCT Emp_Salary) | +-----------------------------+ | 5 | +-----------------------------+ 1 row in set (0.00 sec)
ऐसे 5 रिकॉर्ड हैं जिनमें Emp_Salary के लिए अद्वितीय मान हैं। Emp_Salary में NULL और डुप्लिकेट मानों पर DISTINCT कीवर्ड द्वारा विचार नहीं किया जाएगा।