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

MySQL ORDER BY ব্যবহার করে নির্দিষ্ট মানকে প্রথমে দেখানো

এজন্য 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 ব্যবহার করুন (পরবর্তী টিপস দেখুন)।

  1. MySQL-এ আলফানিউমেরিক কলাম সর্ট করা (বিভিন্ন দৈর্ঘ্যের সংখ্যা সহ)

  2. MySQL-এ ORDER BY FIELD() এবং ID দিয়ে সেকেন্ডারি সর্টিং একসাথে করুন

  3. MySQL-এ GROUP_CONCAT() এবং ORDER BY ব্যবহার করে এগরিগেট ফাংশনে সর্টিং প্রয়োগ করুন

  4. MySQL-এ ORDER BY ব্যবহার করে নির্দিষ্ট মানকে শেষে সর্ট করা