MySQL में LIKE ऑपरेटर को IN() की तरह उपयोग करने के लिए COUNT(), IF() और LIKE का संयोजन उपयोग करें। यह पैटर्न मिलान की गणना करने के लिए उपयोगी है।
उदाहरण परिदृश्य
विषय कॉलम में 'MySQL', 'Java', 'MongoDB' शब्दों की घटनाएं गिनना।
तालिका और डेटा
mysql> CREATE TABLE DemoTable (Subject VARCHAR(80));
mysql> INSERT INTO DemoTable VALUES
-> ('MySQLMongoDB'), ('MySQL'), ('JavaMySQL'), ('MongoDB'), ('Java');
डेटा
+--------------+
| Subject |
+--------------+
| MySQLMongoDB |
| MySQL |
| JavaMySQL |
| MongoDB |
| Java |
+--------------+
क्वेरी: प्रत्येक पैटर्न की घटनाएं गिनें
mysql> SELECT
-> COUNT(IF(Subject LIKE '%MySQL%', 1, NULL)) AS MySQLCount,
-> COUNT(IF(Subject LIKE '%Java%', 1, NULL)) AS JavaCount,
-> COUNT(IF(Subject LIKE '%MongoDB%', 1, NULL)) AS MongoDBCount
-> FROM DemoTable;
परिणाम
+------------+-----------+--------------+
| MySQLCount | JavaCount | MongoDBCount |
+------------+-----------+--------------+
| 3 | 2 | 2 |
+------------+-----------+--------------+
व्याख्या
- MySQL: 'MySQLMongoDB', 'MySQL', 'JavaMySQL' में मौजूद = 3
- Java: 'JavaMySQL', 'Java' में मौजूद = 2
- MongoDB: 'MySQLMongoDB', 'MongoDB' में मौजूद = 2
तकनीक
IF(condition, 1, NULL)- शर्त पूरी होने पर 1, अन्यथा NULLCOUNT()- NULL को छोड़कर गैर-NULL मान गिनता है%pattern%- वाइल्डकार्ड के साथ आंशिक मिलान
उपयोग केस
टैग गिनती, कीवर्ड विश्लेषण, सामग्री वर्गीकरण रिपोर्ट।