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

MySQL-এ ORDER BY LIKE প্যাটার্ন অনুযায়ী সর্ট করা (CASE WHEN)

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

ব্যবহার: সার্চ রেজাল্টে মিলে যাওয়া প্যাটার্নকে উপরে আনার জন্য, ক্যাটাগরি-ভিত্তিক সর্টিং।

  1. MySQL-এ অটো-ইনক্রিমেন্ট কলাম অনুযায়ী সর্ট (ORDER BY Id DESC)

  2. MySQL-এ আইটেমের অর্ডার পরিবর্তন করা

  3. MySQL-এ GROUP BY ও ORDER BY FIELD একসাথে ব্যবহার করে কাস্টম সর্টিং

  4. MySQL-এ ORDER BY Amount=0, Amount দিয়ে শূন্য মানগুলো শেষে পাঠানো