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

MySQL में एकाधिक टेबल्स की पंक्तियों को एक ही क्वेरी में गिनना

MySQL में एक से अधिक टेबल्स की पंक्ति संख्या (row count) एक ही क्वेरी में प्राप्त करने के लिए सबक्वेरीज़ का उपयोग करें। प्रत्येक टेबल के लिए अलग COUNT(*) सबक्वेरी लिखें और उन्हें SELECT सूची में रखें।

सिंटैक्स

SELECT 
    (SELECT COUNT(*) FROM table1) AS table1_count,
    (SELECT COUNT(*) FROM table2) AS table2_count,
    (SELECT COUNT(*) FROM table3) AS table3_count;

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

1. पहली टेबल बनाएं और डेटा डालें

mysql> CREATE TABLE DemoTable1 (FirstName VARCHAR(100));
Query OK, 0 rows affected (0.54 sec)

mysql> INSERT INTO DemoTable1 VALUES ('Bob'), ('James'), ('John'), ('David');
Query OK, 4 rows affected (0.15 sec)

2. दूसरी टेबल बनाएं और डेटा डालें

mysql> CREATE TABLE DemoTable2 (Marks INT);
Query OK, 0 rows affected (0.65 sec)

mysql> INSERT INTO DemoTable2 VALUES (98), (89), (67), (34), (32), (42);
Query OK, 6 rows affected (0.15 sec)

3. दोनों टेबल्स की पंक्ति संख्या एक साथ प्राप्त करें

mysql> SELECT 
    (SELECT COUNT(*) FROM DemoTable1) AS First_Table_Row,
    (SELECT COUNT(*) FROM DemoTable2) AS Second_Table_Row;
+-----------------+------------------+
| First_Table_Row | Second_Table_Row |
+-----------------+------------------+
| 4               | 6                |
+-----------------+------------------+
1 row in set (0.00 sec)

वैकल्पिक तरीके

UNION ALL के साथ (अलग पंक्तियों के रूप में)

SELECT 'DemoTable1' AS table_name, COUNT(*) AS row_count FROM DemoTable1
UNION ALL
SELECT 'DemoTable2', COUNT(*) FROM DemoTable2;
+------------+-----------+
| table_name | row_count |
+------------+-----------+
| DemoTable1 | 4         |
| DemoTable2 | 6         |
+------------+-----------+

INFORMATION_SCHEMA से (मेटाडेटा, तेज़ लेकिन अनुमानित)

SELECT TABLE_NAME, TABLE_ROWS 
FROM INFORMATION_SCHEMA.TABLES 
WHERE TABLE_SCHEMA = 'your_database' 
  AND TABLE_NAME IN ('DemoTable1', 'DemoTable2');

नोट: InnoDB के लिए TABLE_ROWS अनुमानित होता है। सटीक गिनती के लिए COUNT(*) उपयोग करें।

प्रदर्शन तुलना

तरीकासटीकतागतिउपयोग मामला
सबक्वेरी COUNT(*)सटीकधीमी (बड़े टेबल्स)सटीक गिनती आवश्यक
INFORMATION_SCHEMAअनुमानित (InnoDB)बहुत तेज़त्वरित अवलोकन, निगरानी
ट्रिगर-आधारित काउंटर टेबलसटीकतेज़ पढ़नाअत्यधिक पढ़ी जाने वाली गिनती
  1. - एकल MySQL क्वेरी में एकाधिक पंक्तियां डालें

    INSERT INTO ... VALUES (), (), () सिंटैक्स का उपयोग करके बल्क इन्सर्ट पहले टेबल बनाएं: create table DemoTable1384 ( StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY, StudentName varchar(20), StudentAge int ); Query OK, 0 rows affected (0.63 sec) INSERT कमांड का उपयोग करके रिकॉर्ड डालें। यहां हम एक

  1. - MySQL में कई पंक्तियाँ प्रभावी ढंग से चुनना

    इंडेक्स और IN() क्लॉज से कुशल पंक्ति चयन प्राइमरी की या इंडेक्स पर IN() क्लॉज का उपयोग करके कई विशिष्ट आईडी की पंक्तियाँ एक क्वेरी में कुशलता से प्राप्त करें। तालिका और इंडेक्स CREATE INDEX id_index ON DemoTable1501(Id); डेटा डालना (220, www.gmail.com), (350, www.youtube.com); कुशल चयन क्वेरी

  1. - MySQL में कई टेबल्स से Count(*) पंक्तियों की गिनती कैसे करें?

    MySQL में एकाधिक टेबल्स से पंक्तियों की गिनती MySQL में कई टेबल्स से पंक्तियों की संख्या प्राप्त करने के लिए, आप सबक्वेरी का उपयोग करके प्रत्येक टेबल की गिनती अलग-अलग प्राप्त कर सकते हैं और फिर उन्हें एक ही परिणाम सेट में जोड़ सकते हैं। सिंटैक्स SELECT (SELECT COUNT(*) FROM yourTableName1) AS