IF() ফাংশন ORDER BY-এ ব্যবহার করুন
নির্দিষ্ট ভ্যালুवाले সারিগুলো প্রথমে দেখাতে ORDER BY IF(column = 'value', 1, 0) DESC প্যাটার্ন ব্যবহার করুন।
উদাহরণ: টেবিল ও ডেটা
mysql> CREATE TABLE DemoTable (
Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
FirstName VARCHAR(20),
Branch VARCHAR(20)
);
mysql> INSERT INTO DemoTable(FirstName, Branch) VALUES
('John','CS'),('Carol','ME'),('David','ME'),('Bob','CE'),('Robert','EE'),('Chris','EEE'),('James','ME');
সকল রেকর্ড:
+----+-----------+--------+ | Id | FirstName | Branch | +----+-----------+--------+ | 1 | John | CS | | 2 | Carol | ME | | 3 | David | ME | | 4 | Bob | CE | | 5 | Robert | EE | | 6 | Chris | EEE | | 7 | James | ME | +----+-----------+--------+
'ME' ব্রাঞ্চवाले সারিগুলো প্রথমে দেখান
mysql> SELECT * FROM DemoTable ORDER BY IF(Branch='ME',1,0) DESC, Branch;
ফলাফল:
+----+-----------+--------+ | Id | FirstName | Branch | +----+-----------+--------+ | 2 | Carol | ME | | 3 | David | ME | | 7 | James | ME | | 4 | Bob | CE | | 1 | John | CS | | 5 | Robert | EE | | 6 | Chris | EEE | +----+-----------+--------+
ব্যাখ্যা: IF(Branch='ME',1,0) 'ME' হলে ১ নয় হলে ০ রিটার্ন করে। DESC দিয়ে ১গুলো আগে আসে। দ্বিতীয় সর্ট কি Branch দিয়ে বাকিগুলো বর্ণানুক্রমে সাজানো হয়েছে।