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

MySQL-এ নির্দিষ্ট মানকে শেষে রাখে ORDER BY করা

MySQL-এ ORDER BY ক্লজে বুলিয়ান এক্সপ্রেশন ব্যবহার করে নির্দিষ্ট মানকে ফলাফলের শেষে বা শুরুতে রাখা যায়।

টেবিল তৈরি এবং ডেটা ইনসার্ট

mysql> CREATE TABLE DemoTable (
    -> Status INT
    -> );
Query OK, 0 rows affected (0.66 sec)
mysql> INSERT INTO DemoTable VALUES(30);
mysql> INSERT INTO DemoTable VALUES(20);
mysql> INSERT INTO DemoTable VALUES(20);
mysql> INSERT INTO DemoTable VALUES(30);
mysql> INSERT INTO DemoTable VALUES(10);
mysql> INSERT INTO DemoTable VALUES(40);

সব রেকর্ড দেখানো

mysql> SELECT * FROM DemoTable;

আউটপুট

+--------+
| Status |
+--------+
| 30     |
| 20     |
| 20     |
| 30     |
| 10     |
| 40     |
+--------+
6 rows in set (0.00 sec)

চাহিদা: ১০ কে শেষে, বাকি আরোহী ক্রমে

20 20 30 30 40 10

কোয়েরি

mysql> SELECT * FROM DemoTable ORDER BY Status = 10, Status;

আউটপুট

+--------+
| Status |
+--------+
| 20     |
| 20     |
| 30     |
| 30     |
| 40     |
| 10     |
+--------+
6 rows in set (0.00 sec)

ব্যাখ্যা: Status = 10 এক্সপ্রেশনটি বুলিয়ান রিটার্ন করে — ১০ হলে TRUE (1), অন্যথায় FALSE (0)। ORDER BY ডিফল্টভাবে অরোহী ক্রমে সাজায় (০ আগে, ১ পরে)। তাই ১০ ছাড়া সব মান (FALSE=০) আগে আসে, তারপর ১০ (TRUE=১) শেষে আসে। একই গ্রুপের ভিতরে Status দিয়ে আরোহী ক্রমে সাজানো হয়।

  1. MySQL-এ ORDER BY INSTR() দিয়ে নির্দিষ্ট শব্দवाले রেকর্ড প্রথমে দেখানো

  2. MySQL-এ SUBSTRING_INDEX() দিয়ে কমা-সেপারেটেড সংখ্যার সেটের প্রথম সংখ্যা দিয়ে ORDER BY করা

  3. MySQL-এ নির্দিষ্ট প্যাটার্নের (John-*) ভিন্ন আইটেমের সংখ্যা গণনা করা

  4. MySQL-এ কমা-সেপারেটেড স্ট্রিংয়ে নির্দিষ্ট সংখ্যা খুঁজে রো সিলেক্ট করা