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

MySQL में दो टेबल्स से काउंट करके स्ट्रिंग का संयुक्त काउंट कैसे प्राप्त करें

UNION ALL और COUNT(*) के साथ दो टेबल्स का संयुक्त काउंट

दो टेबल्स से स्ट्रिंग मानों का संयुक्त काउंट प्राप्त करने के लिए COUNT(*) के साथ UNION ALL का उपयोग करें।

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

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

पहली टेबल में स्ट्रिंग मान इन्सर्ट करें:

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

पहली टेबल के रिकॉर्ड्स देखें:

mysql> SELECT * FROM DemoTable1;

आउटपुट:

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

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

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

दूसरी टेबल में स्ट्रिंग मान इन्सर्ट करें:

mysql> INSERT INTO DemoTable2 VALUES ('Robert');
mysql> INSERT INTO DemoTable2 VALUES ('Chris');
mysql> INSERT INTO DemoTable2 VALUES ('Robert');
mysql> INSERT INTO DemoTable2 VALUES ('David');

दूसरी टेबल के रिकॉर्ड्स देखें:

mysql> SELECT * FROM DemoTable2;

आउटपुट:

+--------+
| Name   |
+--------+
| Robert |
| Chris  |
| Robert |
| David  |
+--------+

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

mysql> SELECT tbl.Name, COUNT(*) AS Total_Count
    FROM (
        SELECT Name FROM DemoTable1
        UNION ALL
        SELECT Name FROM DemoTable2
    ) tbl
    GROUP BY tbl.Name;

आउटपुट:

+--------+-------------+
| Name   | Total_Count |
+--------+-------------+
| Chris  | 2           |
| Robert | 4           |
| Mike   | 1           |
| David  | 1           |
+--------+-------------+

व्याख्या:

  • UNION ALL: दोनों टेबल्स के सभी रिकॉर्ड्स को जोड़ता है (डुप्लिकेट्स सहित)
  • UNION vs UNION ALL: UNION डुप्लिकेट्स हटा देता है, UNION ALL सभी पंक्तियों को रखता है
  • सबक्वेरी (tbl): संयुक्त परिणाम सेट को एक डिराइव्ड टेबल के रूप में ट्रीट करता है
  • GROUP BY tbl.Name: नाम के अनुसार ग्रुपित करता है
  • COUNT(*): प्रत्येक नाम की कुल घटनाओं को गिनता है

गणना:

  • Chris: टेबल1 में 1 + टेबल2 में 1 = 2
  • Robert: टेबल1 में 2 + टेबल2 में 2 = 4
  • Mike: टेबल1 में 1 + टेबल2 में 0 = 1
  • David: टेबल1 में 0 + टेबल2 में 1 = 1
  1. - MySQL में दो कॉलम के मान गिनें और NULL को बाहर रखें

    COUNT() फ़ंक्शन से NULL मानों को छोड़कर कॉलम मान गिनना COUNT(कॉलम_नाम) स्वचालित रूप से NULL मानों को अनदेखा करता है। दो कॉलम के गैर-NULL मानों का कुल योग पाने के लिए दोनों COUNT को जोड़ें। टेबल बनाएं और डेटा डालें: mysql> create table DemoTable1975 ( StudentName varchar(20), StudentMarks int ); Q

  1. - MySQL में टेबल जोड़कर (JOIN) मान कैसे प्राप्त करें?

    JOIN का उपयोग दो टेबल को सामान्य कॉलम (PK-FK) पर जोड़ें। टेबल 1: demo52 insert into demo52 values(1,John), (2,David), (3,Mike); टेबल 2: demo53 (FK से demo52) insert into demo53 values(1,23), (2,22), (3,26); JOIN क्वेरी SELECT name FROM demo52 t1 JOIN demo53 t2 ON t1.id=t2.id WHERE t1.id=1; +-

  1. - MySQL में AES_ENCRYPT() और AES_DECRYPT() से स्ट्रिंग एन्क्रिप्ट और डिक्रिप्ट करें

    सिंटैक्स insert into yourTableName values(AES_ENCRYPT(yourValue, yourSecretKey)); select cast(AES_DECRYPT(yourColumnName, yourSecretKey) as char) from yourTableName; उदाहरण insert into demo63 values(AES_ENCRYPT(John,PASS)), (AES_ENCRYPT(David,PASS)), (AES_ENCRYPT(123456,PASS)); एन्क्रिप्टेड डेटा