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

MySQL-এ নির্দিষ্ট ক্রমে ডেটা সাজানোর পদ্ধতি


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

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

সিনট্যাক্স

SELECT * FROM yourTableName 
ORDER BY IF(yourColumnName=yourValue1 OR yourColumnName=yourValue2 OR yourColumnName=yourValue3, yourColumnName, ~yourColumnName) ASC;

উদাহরণ সহ ব্যাখ্যা

প্রথমে একটি টেবিল তৈরি করি:

mysql> CREATE TABLE arrangeDataInSpecificOrder (
    -> StudentId INT,
    -> StudentName VARCHAR(20)
    -> );

ডেটা ইনসার্ট করি:

mysql> INSERT INTO arrangeDataInSpecificOrder VALUES(10,'Larry');
mysql> INSERT INTO arrangeDataInSpecificOrder VALUES(15,'Mike');
mysql> INSERT INTO arrangeDataInSpecificOrder VALUES(100,'Sam');
mysql> INSERT INTO arrangeDataInSpecificOrder VALUES(70,'Carol');
mysql> INSERT INTO arrangeDataInSpecificOrder VALUES(90,'Bob');
mysql> INSERT INTO arrangeDataInSpecificOrder VALUES(300,'David');

স্বাভাবিক অবস্থায় ডেটা:

mysql> SELECT * FROM arrangeDataInSpecificOrder;
+-----------+-------------+
| StudentId | StudentName |
+-----------+-------------+
| 10        | Larry       |
| 15        | Mike        |
| 100       | Sam         |
| 70        | Carol       |
| 90        | Bob         |
| 300       | David       |
+-----------+-------------+

নির্দিষ্ট ক্রমে (300, 100, 10 প্রথমে) সাজানোর কোয়ারি:

mysql> SELECT * FROM arrangeDataInSpecificOrder 
    -> ORDER BY IF(StudentId=300 OR StudentId=100 OR StudentId=10, StudentId, ~StudentId) ASC;

ফলাফল:

+-----------+-------------+
| StudentId | StudentName |
+-----------+-------------+
| 10        | Larry       |
| 100       | Sam         |
| 300       | David       |
| 90        | Bob         |
| 70        | Carol       |
| 15        | Mike        |
+-----------+-------------+

ব্যাখ্যা: IF() ফাংশনে শর্ত পূরণ হলে (১০, ১০০, ৩০০) সেগুলোকে নিজস্ব মান অনুযায়ী সাজায়, বাকিগুলো ~StudentId (বিটওয়াইজ NOT) দিয়ে বড় মান হয়ে যায়, ফলে সেগুলো পরে আসে।

  1. MySQL-এ নির্দিষ্ট কলামের ডেটা এক্সপোর্ট করুন

  2. MySQL-এ GROUP BY ও ORDER BY FIELD একসাথে ব্যবহার করে কাস্টম সর্টিং

  3. MySQL কোয়েরি দিয়ে নির্দিষ্ট সারি খুঁজে বের করার পদ্ধতি

  4. MySQL-এ ORDER BY Amount=0, Amount দিয়ে শূন্য মানগুলো শেষে পাঠানো