MySQL-এ LIKE প্যাটার্ন অনুযায়ী রেকর্ড সর্ট করতে ORDER BY CASE WHEN ... THEN ... END কনস্ট্রাক্ট ব্যবহার করুন। এটি কাস্টম প্রায়োরিটি-ভিত্তিক সর্টিংয়ে সাহায্য করে।
সিনট্যাক্স
SELECT * FROM `table`
ORDER BY CASE
WHEN `col` LIKE '%pattern1%' THEN 1
WHEN `col` LIKE '%pattern2%' THEN 2
ELSE 3
END;
উদাহরণ: উপনাম (Taylor, Miller) অনুযায়ী সর্ট
CREATE TABLE `OrderByLikeDemo` (`Id` INT, `Name` VARCHAR(100));
INSERT INTO `OrderByLikeDemo` VALUES
(100,'John Smith'), (101,'Carol Taylor'), (102,'David Miller'),
(103,'Mike Taylor'), (104,'Bob Miller'), (105,'Sam Williams');
Taylor → Miller → বাকি ক্রমে
SELECT * FROM `OrderByLikeDemo`
ORDER BY CASE
WHEN `Name` LIKE '%Taylor%' THEN 1
WHEN `Name` LIKE '%Miller%' THEN 2
ELSE 3
END;
ফলাফল:
+------+--------------+
| Id | Name |
+------+--------------+
| 101 | Carol Taylor |
| 103 | Mike Taylor |
| 102 | David Miller |
| 104 | Bob Miller |
| 100 | John Smith |
| 105 | Sam Williams |
+------+--------------+
ব্যবহার: সার্চ রেজাল্টে মিলে যাওয়া প্যাটার্নকে উপরে আনার জন্য, ক্যাটাগরি-ভিত্তিক সর্টিং।