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

MySQL में एक ही क्वेरी से दो टेबल्स की पंक्तियों को कैसे काउंट करें

सबक्वेरीज़ के साथ दो टेबल्स की रो काउंट एक साथ प्राप्त करना

एक ही क्वेरी में दो अलग-अलग टेबल्स की पंक्ति संख्या गिनने के लिए सबक्वेरीज़ का उपयोग करें।

पहली टेबल बनाएं:

mysql> CREATE TABLE DemoTable1 (
    Name VARCHAR(40)
);

रिकॉर्ड्स इन्सर्ट करें:

mysql> INSERT INTO DemoTable1 VALUES ('Chris');
mysql> INSERT INTO DemoTable1 VALUES ('Robert');
mysql> INSERT INTO DemoTable1 VALUES ('Mike');

पहली टेबल देखें:

mysql> SELECT * FROM DemoTable1;

आउटपुट:

+--------+
| Name   |
+--------+
| Chris  |
| Robert |
| Mike   |
+--------+

दूसरी टेबल बनाएं:

mysql> CREATE TABLE DemoTable2 (
    Score INT
);

रिकॉर्ड्स इन्सर्ट करें:

mysql> INSERT INTO DemoTable2 VALUES (86);
mysql> INSERT INTO DemoTable2 VALUES (98);
mysql> INSERT INTO DemoTable2 VALUES (75);

दूसरी टेबल देखें:

mysql> SELECT * FROM DemoTable2;

आउटपुट:

+-------+
| Score |
+-------+
| 86    |
| 98    |
| 75    |
+-------+

एक ही क्वेरी में दोनों टेबल्स की रो काउंट प्राप्त करें:

mysql> SELECT
    (SELECT COUNT(*) FROM DemoTable1) AS FirstTableCount,
    (SELECT COUNT(*) FROM DemoTable2) AS SecondTableCount
    FROM DUAL;

आउटपुट:

+-----------------+------------------+
| FirstTableCount | SecondTableCount |
+-----------------+------------------+
| 3               | 3                |
+-----------------+------------------+

व्याख्या:

  • सबक्वेरीज़: प्रत्येक SELECT COUNT(*) एक स्केलर मान (सिंगल नंबर) लौटाता है
  • FROM DUAL: MySQL में डमी टेबल है जब कोई वास्तविक टेबल नहीं चाहिए
  • कॉलम एलियास: FirstTableCount और SecondTableCount परिणाम को पठनीय बनाते हैं

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

-- तरीका 1: UNION ALL के साथ (यदि कॉलम नाम समान हों)
SELECT 'DemoTable1' AS TableName, COUNT(*) AS RowCount FROM DemoTable1
UNION ALL
SELECT 'DemoTable2', COUNT(*) FROM DemoTable2;

-- तरीका 2: INFORMATION_SCHEMA से (मेटाडेटा, तेज़ लेकिन अनुमानित)
SELECT TABLE_NAME, TABLE_ROWS
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_NAME IN ('DemoTable1', 'DemoTable2');

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

  1. - एक ही क्वेरी से एकाधिक MySQL टेबल का आउटपुट कैसे प्राप्त करें?

    जैसा कि हम जानते हैं कि एक क्वेरी में सेमीकॉलन द्वारा अलग किए गए एकाधिक MySQL स्टेटमेंट हो सकते हैं। मान लीजिए हम एकाधिक टेबल से रिजल्ट प्राप्त करना चाहते हैं तो Student_info और Student_detail से रिजल्ट सेट प्राप्त करने के लिए निम्न उदाहरण पर विचार करें - mysql> Select Name, Address from Studen

  1. MySQL से अंतिम 10 रो कैसे चुनें? MySQL से अंतिम 10 रो कैसे चुनें?

    MySQL से अंतिम 10 रो चुनने के लिए, हम SELECT स्टेटमेंट और LIMIT कॉन्सेप्ट के साथ सबक्वेरी का उपयोग कर सकते हैं। निम्न एक उदाहरण है। टेबल बनाना। mysql> create table Last10RecordsDemo -> ( -> id int, -> name varchar(100) -> ); Query OK, 0 rows affected (0.75 sec) टेबल में रिकॉर

  1. - MySQL में INSERT INTO SELECT UNION ALL से एक क्वेरी में दो टेबल में चयन और सम्मिलन

    MySQL में INSERT INTO ... SELECT ... UNION ALL ... SELECT का उपयोग करके एक ही क्वेरी में एक टेबल से डेटा चुनकर दूसरी टेबल में एकाधिक पंक्तियां डाल सकते हैं। उदाहरण 1. लक्ष्य टेबल बनाएं ); 2. स्रोत टेबल बनाएं INSERT INTO DemoTable2 VALUES(Chris); 3. एक क्वेरी में चयन और सम्मिलन SELECT Name, 98