Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MySQL

MySQL में COUNT(*) और COUNT(columnName) में क्या अंतर है?


COUNT(*) बनाम COUNT(कॉलम) - महत्वपूर्ण अंतर

MySQL में COUNT(*) सभी पंक्तियाँ गिनता है (NULL सहित), जबकि COUNT(columnName) केवल नॉन-NULL मान वाली पंक्तियाँ गिनता है।

उदाहरण

टेबल बनाएं:

mysql> CREATE TABLE ifNotNullDemo (Name VARCHAR(20));

विभिन्न मान इन्सर्ट करें:

mysql> INSERT INTO ifNotNullDemo VALUES('Chris'), (''), ('Robert'), (NULL), (0);

सभी रिकॉर्ड:

+--------+
| Name   |
+--------+
| Chris  |
|        |  -- खाली स्ट्रिंग
| Robert |
| NULL   |  -- NULL मान
| 0      |  -- स्ट्रिंग '0'
+--------+

केस 1: COUNT(*) - सभी पंक्तियाँ

mysql> SELECT COUNT(*) FROM ifNotNullDemo;

परिणाम: 5 (सभी 5 पंक्तियाँ गिनी गईं)

केस 2: COUNT(Name) - केवल नॉन-NULL

mysql> SELECT COUNT(Name) FROM ifNotNullDemo;

परिणाम: 4 (NULL वाली पंक्ति नहीं गिनी गई)

तुलना तालिका

मानCOUNT(*)COUNT(Name)
'Chris'✓ गिना✓ गिना
'' (खाली स्ट्रिंग)✓ गिना✓ गिना
'Robert'✓ गिना✓ गिना
NULL✓ गिना✗ नहीं गिना
'0'✓ गिना✓ गिना

मुख्य बिंदु

  • COUNT(*) - पंक्तियों की कुल संख्या (प्रदर्शन के लिए ऑप्टिमाइज़्ड)
  • COUNT(col) - उस कॉलम में नॉन-NULL मानों की संख्या
  • COUNT(DISTINCT col) - यूनिक नॉन-NULL मानों की संख्या
  • खाली स्ट्रिंग '' NULL नहीं है, इसलिए दोनों गिनते हैं
  • COUNT(1) या COUNT(100) भी COUNT(*) के समान काम करते हैं

सर्वोत्तम अभ्यास: पंक्तियाँ गिनने के लिए COUNT(*) उपयोग करें - यह स्पष्ट इरादा दर्शाता है और ऑप्टिमाइज़र के लिए बेहतर है।

  1. - MySQL में intvalue='1' और intvalue=1 में अंतर

    उत्तर intvalue = 1 उपयोग करें। स्टेटमेंट intvalue = 1 आंतरिक रूप से MySQL द्वारा CAST(1 AS INT) में कन्वर्ट हो जाता है। उदाहरण: टेबल बनाना और डेटा डालना ); Query OK, 0 rows affected (0.64 sec) INSERT INTO DemoTable1566 VALUES(90); Query OK, 1 row affected (0.19 sec) सभी रिकॉर्ड देखना SELECT *

  1. - PL/SQL में स्ट्रिंग के अक्षरों और शब्दों की गणना करें

    समस्या किसी भी लंबाई की स्ट्रिंग दी गई है, PL/SQL का उपयोग करके अक्षरों और शब्दों की गणना करें। उदाहरण Input: Tutorials Point → Output: अक्षर=15, शब्द=2 Input: Honesty is the best policy → Output: अक्षर=26, शब्द=5 दृष्टिकोण स्ट्रिंग को चर str में स्टोर करें LENGTH() से स्ट्रिंग की लंबाई प्राप्त क

  1. - MySQL और PostgreSQL के बीच अंतर

    MySQL और PostgreSQL: विस्तृत तुलना MySQL और PostgreSQL दो सबसे लोकप्रिय ओपन-सोर्स रिलेशनल डेटाबेस मैनेजमेंट सिस्टम (RDBMS) हैं। जबकि दोनों SQL मानकों का समर्थन करते हैं और कई समान विशेषताएं साझा करते हैं, उनकी आर्किटेक्चर, क्षमताओं और आदर्श उपयोग मामलों में महत्वपूर्ण अंतर हैं। MySQL अवलोकन प्रकार