এজন্য ORDER BY ক্লজ ব্যবহার করুন। প্রথমে একটি টেবিল তৈরি করি:
mysql> CREATE TABLE DemoTable (StudentId INT);
রেকর্ড যোগ করি:
mysql> INSERT INTO DemoTable VALUES(100), (60), (70), (45), (55), (78);
সকল রেকর্ড দেখতে:
mysql> SELECT * FROM DemoTable;
আউটপুট:
+-----------+ | StudentId | +-----------+ | 100 | | 60 | | 70 | | 45 | | 55 | | 78 | +-----------+
নির্দিষ্ট মান (৭০) প্রথমে দেখানোর কোয়েরি, বাকিগুলো আড়ার ক্রমে:
mysql> SELECT * FROM DemoTable ORDER BY StudentId=70 DESC, StudentId ASC;
আউটপুট:
+-----------+ | StudentId | +-----------+ | 70 | | 45 | | 55 | | 60 | | 78 | | 100 | +-----------+
ব্যাখ্যা: StudentId=70 একটি বুলিয়ান এক্সপ্রেশন। MySQL-এ TRUE=1, FALSE=0। DESC দিয়ে ১ (সত্য) যেন ০ (মিথ্যা) থেকে আগে আসে। তাই ৭০ প্রথমে আসে। বাকিগুলোর জন্য এক্সপ্রেশন ০, তাই সেগুলো StudentId ASC অনুযায়ী সাজে।
বহুমানের জন্য: ORDER BY FIELD(StudentId, 70, 60, 55) DESC, StudentId ASC ব্যবহার করুন (পরবর্তী টিপস দেখুন)।