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 মানের মতো)। সব মান কভার করতে চাইলে তালিকায় সব মান যোগ করুন।