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

MySQL-এ ORDER BY FIELD() ব্যবহার করে কাস্টম সর্ট অর্ডার বাস্তবায়ন

MySQL-এ ডিফল্ট সর্টিং (বর্ণানুক্রমিক বা সংখ্যাসূচক) না চেয়ে নিজের পছন্দমতো ক্রমে ডেটা সাজাতে ORDER BY FIELD() ফাংশন ব্যবহার করা হয়। এটি এনাম বা ক্যাটাগরি ভিত্তিক সর্টিংয়ে খুব কার্যকর।

উদাহরণ: ডেজিগনেশন অনুযায়ী কাস্টম সর্টিং

১. টেবিল তৈরি করুন

mysql> CREATE TABLE DemoTable (
    -> Designation VARCHAR(100)
    -> );

২. ডেটা ইনসার্ট করুন

mysql> INSERT INTO DemoTable VALUES('Software Engineer');
mysql> INSERT INTO DemoTable VALUES('Associate Software Engineer');
mysql> INSERT INTO DemoTable VALUES('Software Development Engineer');
mysql> INSERT INTO DemoTable VALUES('Product Manager');

৩. ডিফল্ট অর্ডার (বর্ণানুক্রমিক)

mysql> SELECT * FROM DemoTable;

আউটপুট:

+-------------------------------+
| Designation                   |
+-------------------------------+
| Software Engineer             |
| Associate Software Engineer   |
| Software Development Engineer |
| Product Manager               |
+-------------------------------+

৪. FIELD() দিয়ে কাস্টম অর্ডার প্রয়োগ করুন

mysql> SELECT * FROM DemoTable
    -> ORDER BY FIELD(Designation,
    -> 'Associate Software Engineer',
    -> 'Software Engineer',
    -> 'Software Development Engineer',
    -> 'Product Manager');

৫. ফলাফল (ইচ্ছামত ক্রমে)

+-------------------------------+
| Designation                   |
+-------------------------------+
| Associate Software Engineer   |
| Software Engineer             |
| Software Development Engineer |
| Product Manager               |
+-------------------------------+

মূল সিনট্যাক্স: ORDER BY FIELD(column_name, 'value1', 'value2', 'value3', ...)

লক্ষ্য করুন: তালিকায় উল্লেখ না করা মানগুলো সবচেয়ে শেষে আসবে (NULL মানের মতো)। সব মান কভার করতে চাইলে তালিকায় সব মান যোগ করুন।

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

  2. MySQL-এ INET_ATON() ব্যবহার করে IP ঠিকানা হিউম্যান-রিডেবল ফরম্যাটে সর্ট করুন

  3. MySQL-এ GROUP_CONCAT() এবং ORDER BY ব্যবহার করে এগরিগেট ফাংশনে সর্টিং প্রয়োগ করুন

  4. পাইথনে কাস্টম অর্ডারে স্ট্রিং সর্ট করার প্রোগ্রাম