কম্পিউটার টিউটোরিয়াল

MySQL-এ LIKE অপারেটরকে IN() এর মতো ব্যবহার করা

MySQL-এ একসাথে একাধিক প্যাটার্ন ম্যাচ করতে LIKE কে IN() এর মতো ব্যবহার করতে COUNT(), IF() এবং LIKE কম্বাইন করা হয়।

টেবিল এবং ডেটা

CREATE TABLE DemoTable (
    Subject VARCHAR(80)
);

INSERT INTO DemoTable VALUES('MySQLMongoDB');
INSERT INTO DemoTable VALUES('MySQL');
INSERT INTO DemoTable VALUES('JavaMySQL');
INSERT INTO DemoTable VALUES('MongoDB');
INSERT INTO DemoTable VALUES('Java');

কুয়েরি: প্রতিটি কীওয়ার্ডের কাউন্ট

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            |
+------------+-----------+--------------+

ব্যাখ্যা

  • IF(condition, 1, NULL) — শর্ত সত্য হলে ১, মিথ্যা হলে NULL
  • COUNT() — NULL বাদ দিয়ে নন-নাল মান গুনে
  • % — ওয়াইল্ডকার্ড, যেকোনো ক্যারেক্টার ম্যাচ করে

বিকল্প: REGEXP ব্যবহার

SELECT 
    SUM(Subject REGEXP 'MySQL') AS MySQLCount,
    SUM(Subject REGEXP 'Java') AS JavaCount,
    SUM(Subject REGEXP 'MongoDB') AS MongoDBCount
FROM DemoTable;

REGEXP বুলিয়ান রিটার্ন করে (১/০), তাই SUM() দিয়ে সরাসরি কাউন্ট করা যায়।

  1. MySQL কোয়েরি: LIKE এবং OR ব্যবহার করে টেক্সট সার্চ করে রেকর্ড বের করা

  2. MySQL-এ আন্ডারস্কোর (_) দিয়ে স্ট্রিং বিভক্ত করে সংখ্যা অনুযায়ী সর্ট করা

  3. MySQL-এ একসাথে দুটি LIKE ক্লজ ব্যবহার করে সার্চ করা

  4. MySQL-এ LIKE কোয়েরি ও LIMIT ব্যবহার করে ডাইনামিক অ্যারে সার্চ করা