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

MySQL में एकाधिक टेबल से COUNT(*) प्राप्त करना

UNION ALL के साथ एकाधिक टेबल्स की कुल पंक्ति गणना

कई टेबल्स की कुल पंक्तियाँ गिनने के लिए प्रत्येक टेबल का COUNT(*) लेकर UNION ALL से जोड़ें, फिर SUM() करें।

सिंटैक्स

SELECT SUM(tbl.aliasName) FROM (
    SELECT COUNT(*) AS aliasName FROM table1
    UNION ALL
    SELECT COUNT(*) AS aliasName FROM table2
) tbl;

उदाहरण: दो टेबल्स - userdemo और wheredemo

टेबल userdemo

+--------+----------+------------------+
| UserId | UserName | RegisteredCourse |
+--------+----------+------------------+
| 1      | John     | Java             |
| 2      | Larry    | C                |
| 3      | Carol    | C++              |
| 4      | Mike     | C#               |
+--------+----------+------------------+
4 rows

टेबल wheredemo

+------+---------+
| Id   | Name    |
+------+---------+
| 101  | Maxwell |
| 110  | David   |
| 1000 | Carol   |
| 1100 | Bob     |
| 115  | Sam     |
+------+---------+
5 rows

कुल गणना क्वेरी

mysql> SELECT SUM(tbl.EachTableCount) FROM (
    -> SELECT COUNT(*) AS EachTableCount FROM userdemo
    -> UNION ALL
    -> SELECT COUNT(*) AS EachTableCount FROM wheredemo
    -> ) tbl;

परिणाम

+-------------------------+
| SUM(tbl.EachTableCount) |
+-------------------------+
| 9                       |
+-------------------------+

क्यों UNION ALL?

  • UNION ALL डुप्लिकेट पंक्तियाँ नहीं हटाता (तेज़)
  • UNION डुप्लिकेट हटाता है (धीमा, अनावश्यक)
  • प्रत्येक COUNT(*) एक पंक्ति लौटाता है, इसलिए डुप्लिकेट की चिंता नहीं

अधिक टेबल्स के लिए विस्तार

SELECT SUM(tbl.cnt) FROM (
    SELECT COUNT(*) AS cnt FROM table1
    UNION ALL SELECT COUNT(*) FROM table2
    UNION ALL SELECT COUNT(*) FROM table3
    -- और टेबल्स जोड़ें
) tbl;
  1. - एकाधिक टेबल से डेटा का उपयोग करके MySQL व्यू कैसे बनाएं?

    MySQL UNION ऑपरेटर दो या अधिक परिणाम सेट को जोड़ सकता है, इसलिए हम UNION ऑपरेटर का उपयोग करके एक व्यू बना सकते हैं जिसमें एकाधिक टेबल से डेटा हो। इस अवधारणा को समझने के लिए हम बेस टेबल Student_info और Student_detail का उपयोग कर रहे हैं जिनमें निम्नलिखित डेटा है: mysql> Select * from Student_info;

  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 में एकाधिक टेबल्स से रिकॉर्ड इन्सर्ट कैसे करें?

    MySQL में दो या अधिक टेबल्स से डेटा संयोजित करके तीसरी टेबल में इन्सर्ट करने के लिए, INSERT INTO ... SELECT के साथ क्रॉस जॉइन (कॉमा सिंटैक्स) या स्पष्ट JOIN का उपयोग करें। यह कार्टेशियन प्रोडक्ट (सभी संयोजन) या मिलान वाले संयोजन बना सकता है। उदाहरण: Name और Age टेबल से Student टेबल में कार्टेशियन प