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

MySQL-এ ORDER BY FIELD() দিয়ে أربিট্রারি কিওয়ার্ড অনুযায়ী সর্ট

MySQL-এ নির্দিষ্ট কাস্টম অর্ডারে স্ট্রিং কলাম সর্ট করতে ORDER BY FIELD(কলাম, 'মান১', 'মান২', ...) ব্যবহার করুন।

উদাহরণ

mysql> CREATE TABLE DemoTable (Title VARCHAR(100));
Query OK, 0 rows affected (0.56 sec)

mysql> INSERT INTO DemoTable VALUES ('Java'), ('C'), ('Python'), ('MongoDB');
Query OK, 4 rows affected

সাধারণ সিলেক্ট

mysql> SELECT * FROM DemoTable;
+---------+
| Title   |
+---------+
| Java    |
| C       |
| Python  |
| MongoDB |
+---------+

কাস্টম অর্ডার: MongoDB, C, Python, Java

mysql> SELECT * FROM DemoTable
ORDER BY FIELD(Title, 'MongoDB', 'C', 'Python', 'Java') ASC;
+---------+
| Title   |
+---------+
| MongoDB |
| C       |
| Python  |
| Java    |
+---------+

FIELD() ফাংশন

  • FIELD(str, str1, str2, ...) → str লিস্টে কতনম্বর পজিশনে আছে (১-বেসড)
  • নাও থাকলে ০ রিটার্ন করে (সর্বোপরি আসবে ASC-এ)
  • ORDER BY FIELD(col, 'a','b','c') DESC → উল্টো অর্ডার

বিকল্প: CASE WHEN

ORDER BY CASE Title
    WHEN 'MongoDB' THEN 1
    WHEN 'C' THEN 2
    WHEN 'Python' THEN 3
    WHEN 'Java' THEN 4
    ELSE 5 END;

ব্যবহার: স্ট্যাটাস (pending, approved, rejected), প্রায়রিটি (high, medium, low), ক্যাটাগরি অর্ডারিং।

  1. MySQL-এ ডোমেইন নাম সর্ট করা

  2. MySQL-এ আলফানিউমেরিক কলাম সর্ট করা (বিভিন্ন দৈর্ঘ্যের সংখ্যা সহ)

  3. MySQL-এ ORDER BY FIELD() এবং ID দিয়ে সেকেন্ডারি সর্টিং একসাথে করুন

  4. MySQL-এ ORDER BY ব্যবহার করে নির্দিষ্ট মানকে শেষে সর্ট করা