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

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

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 দিয়ে বাকিগুলো বর্ণানুক্রমে সাজানো হয়েছে।

  1. MySQL DELETE কোয়েরি ব্যবহার করে নির্বাচনী একাধিক রেকর্ড মুছে ফেলা

  2. MySQL-এ INET_ATON() ব্যবহার করে IP ঠিকানা অনুযায়ী সর্ট করা

  3. MySQL-এ রেকর্ড সাজিয়ে n সংখ্যক সারি মুছে ফেলা

  4. NodeJS ব্যবহার করে MySQL রেকর্ড ডিলিট করুন