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

MySQL में सभी रिकॉर्ड गिनने के लिए COUNT(*) का उपयोग करना चाहिए?

COUNT(*) vs COUNT(column) - अंतर समझें

MySQL में पंक्तियों की गिनती के लिए COUNT(*) और COUNT(column) में **महत्वपूर्ण अंतर** है।

सिंटैक्स

SELECT COUNT(*) AS AllRows FROM yourTableName;
SELECT COUNT(columnName) AS NonNullRows FROM yourTableName;

व्यावहारिक उदाहरण

1. टेबल बनाएं और NULL सहित डेटा डालें

mysql> CREATE TABLE CountingDemo (BookId INT);
Query OK, 0 rows affected (0.60 sec)

mysql> INSERT INTO CountingDemo VALUES(100);
mysql> INSERT INTO CountingDemo VALUES();      -- NULL
mysql> INSERT INTO CountingDemo VALUES(200);
mysql> INSERT INTO CountingDemo VALUES(300);
mysql> INSERT INTO CountingDemo VALUES();      -- NULL

2. डेटा देखें

mysql> SELECT * FROM CountingDemo;
+--------+
| BookId |
+--------+
| 100    |
| NULL   |
| 200    |
| 300    |
| NULL   |
+--------+
5 rows in set (0.00 sec)

3. COUNT(*) - सभी पंक्तियाँ (NULL सहित)

mysql> SELECT COUNT(*) AS AllValues FROM CountingDemo;
+----------+
| AllValues|
+----------+
| 5        |
+----------+
1 row in set (0.00 sec)

4. COUNT(BookId) - केवल गैर-NULL मान

mysql> SELECT COUNT(BookId) AS NonNullValues FROM CountingDemo;
+-----------------+
| NonNullValues   |
+-----------------+
| 3               |
+-----------------+
1 row in set (0.00 sec)

मुख्य अंतर

फ़ंक्शनगिनता हैNULL व्यवहारप्रदर्शन
COUNT(*)सभी पंक्तियाँNULL शामिलतेज (इंडेक्स/मेटाडेटा उपयोग कर सकता है)
COUNT(col)गैर-NULL मानNULL बाहरथोड़ा धीमा (कॉलम पढ़ना पड़ता है)

कब कौन सा उपयोग करें?

  • COUNT(*): कुल पंक्ति संख्या, पेजिनेशन, EXISTS चेक - **डिफ़ॉल्ट विकल्प**
  • COUNT(col): विशिष्ट कॉलम में भरे मानों की संख्या (पूर्णता जांच)
  • COUNT(DISTINCT col): अद्वितीय गैर-NULL मानों की संख्या

प्रदर्शन नोट

  • MyISAM: COUNT(*) तत्काल (मेटाडेटा में संग्रहीत)
  • InnoDB: COUNT(*) स्कैन करता है (MVCC के कारण), लेकिन COUNT(*) अभी भी COUNT(col) से तेज
  • बड़े InnoDB टेबल्स पर अनुमानित गिनती के लिए: SELECT TABLE_ROWS FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME='t'

निष्कर्ष: **कुल रिकॉर्ड गिनने के लिए हमेशा COUNT(*) उपयोग करें** - यह मानक, तेज, और स्पष्ट है।

  1. - MySQL तालिका के सभी रिकॉर्ड्स पर TRIM फ़ंक्शन का उपयोग करना

    MySQL में TRIM() के साथ सभी रिकॉर्ड्स से अतिरिक्त स्पेस हटाना TRIM() फ़ंक्शन स्ट्रिंग के शुरुआत और अंत से स्पेस (whitespace) हटाने के लिए उपयोग किया जाता है। यह डेटा सफाई के लिए बहुत उपयोगी है। व्यावहारिक उदाहरण तालिका बनाना CREATE TABLE DemoTable ( StudentName VARCHAR(100) ); अग्रणी और अनुग

  1. - MySQL में एक क्वेरी में विशिष्ट रिकॉर्ड (डुप्लिकेट) की घटनाओं को गिनें

    COUNT() एग्रीगेट फ़ंक्शन के साथ GROUP BY का उपयोग करके प्रत्येक विशिष्ट मान की घटनाओं को गिनें। टेबल बनाना और डेटा डालना CREATE TABLE DemoTable ( StudentId INT NOT NULL AUTO_INCREMENT PRIMARY KEY, StudentSubject VARCHAR(40) ); Query OK, 0 rows affected (5.03 sec) INSERT INTO DemoTable(St

  1. - MySQL में BETWEEN कीवर्ड का उपयोग करके दो तिथियों के बीच रिकॉर्ड्स का SUM प्राप्त करना

    MySQL में दिनांक सीमा के भीतर मानों का योग दिनांक सीमा के भीतर संख्यात्मक मानों का योग करने के लिए, BETWEEN ऑपरेटर के साथ SUM() एग्रीगेट फ़ंक्शन का उपयोग करें। यह बिक्री रिपोर्ट, वित्तीय विश्लेषण और समय-श्रृंखला डेटा के लिए आदर्श है। उदाहरण: तिमाही खरीद योग की गणना पहले एक खरीद टेबल बनाते हैं: SEL