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

MySQL क्वेरी में सरणी के तत्वों का मिलान कैसे करें?


IN ऑपरेटर और HAVING COUNT का उपयोग करके सरणी मिलान

आइए पहले एक टेबल बनाते हैं:

mysql> CREATE TABLE DemoTable1523 (
    Id INT,
    Value INT
); 
Query OK, 0 rows affected (0.76 sec)

रिकॉर्ड्स डालना

mysql> INSERT INTO DemoTable1523 VALUES(1, 56);
Query OK, 1 row affected (0.15 sec)
mysql> INSERT INTO DemoTable1523 VALUES(2, 78);
Query OK, 1 row affected (0.15 sec)
mysql> INSERT INTO DemoTable1523 VALUES(1, 34);
Query OK, 1 row affected (0.10 sec)
mysql> INSERT INTO DemoTable1523 VALUES(2, 45);
Query OK, 1 row affected (0.17 sec)
mysql> INSERT INTO DemoTable1523 VALUES(1, 99);
Query OK, 1 row affected (0.10 sec)

सभी रिकॉर्ड्स देखना

mysql> SELECT * FROM DemoTable1523;

आउटपुट:

+------+-------+
| Id   | Value |
+------+-------+
| 1    | 56    |
| 2    | 78    |
| 1    | 34    |
| 2    | 45    |
| 1    | 99    |
+------+-------+
5 rows in set (0.00 sec)

सरणी तत्वों का मिलान करने की क्वेरी

यहां हम उन Id चुन रहे हैं जिनमें मान 34, 99, और 56 सभी मौजूद हैं:

mysql> SELECT Id FROM DemoTable1523
WHERE Value IN ('34', '99', '56')
GROUP BY Id
HAVING COUNT(*) = 3;

आउटपुट:

+------+
| Id   |
+------+
| 1    |
+------+
1 row in set (0.00 sec)

व्याख्या:

  • WHERE Value IN ('34', '99', '56') - केवल इन मानों वाली पंक्तियाँ चुनता है।
  • GROUP BY Id - Id के अनुसार ग्रुप करता है।
  • HAVING COUNT(*) = 3 - केवल वही Id चुनता है जिनमें सभी 3 मान मौजूद हैं।

Id=1 के पास 56, 34, 99 तीनों हैं, जबकि Id=2 के पास केवल 78, 45 हैं।


  1. - MySQL में IN() का उपयोग करके मिलान खोजें और रिकॉर्ड प्राप्त करें

    IN() ऑपरेटर का उपयोग करके विशिष्ट मानों के सेट से मिलान करने वाली पंक्तियाँ प्राप्त करें। टेबल बनाना और डेटा डालना CREATE TABLE DemoTable ( Id INT, FirstName VARCHAR(20), Gender ENUM(Male,Female) ); Query OK, 0 rows affected (1.73 sec) INSERT INTO DemoTable VALUES(1,Chris,Male),(10,E

  1. - MySQL में टेबल A की तुलना में टेबल B में नहीं होने पर टेबल C में डेटा डालें

    समाधान टेबल A और B पर LEFT JOIN का उपयोग करें, जहां B में मेल नहीं खाता वहां के रिकॉर्ड टेबल C में डालें। उदाहरण टेबल A (demo20): INSERT INTO demo20 VALUES (100,John), (101,Bob), (102,Mike), (103,Carol); टेबल B (demo21): INSERT INTO demo21 VALUES (100,Sam), (101,Adam), (133,Bob), (145,David); ट

  1. - MySQL में डायनामिक ऐरे के साथ LIKE क्वेरी कैसे करें?

    सिंटैक्स select * from yourTableName where yourColumnName2 like %yourValue% order by yourColumnName1 asc limit yourLimitValue; उदाहरण: कॉमा-सेपरेटेड नामों में खोज insert into demo74(user_names) values(John Smith1,John Smith2,John Smith3), (John Smith1), (David Smith1), (John Smith1,John Smith2,Jo