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

MySQL-এ ORDER BY FIELD() এবং OR শর্ত ব্যবহার করে প্রায়োরিটি ভিত্তিক সর্টিং


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

mysql> create table DemoTable1884 ( Marks int ); Query OK, 0 rows affected (0.00 sec)
mysql> insert into DemoTable1884 values(55); Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1884 values(97); Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1884 values(79); Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1884 values(87); Query OK, 1 row affected (0.00 sec)

সব রেকর্ড

mysql> select * from DemoTable1884;
+-------+
| Marks |
+-------+
|    55 |
|    97 |
|    79 |
|    87 |
+-------+
4 rows in set (0.00 sec)

FIELD() দিয়ে কাস্টম অর্ডারিং

Marks 98 বা 87 হলে সিলেক্ট করি, FIELD(Marks,98,87) দিয়ে 98 কে প্রথমে, 87 কে دومে রাখি, LIMIT 1:

mysql> select * from DemoTable1884 where Marks = 98 or Marks = 87 order by field(Marks,98,87) limit 1;
+-------+
| Marks |
+-------+
|    87 |
+-------+
1 row in set (0.00 sec)

ব্যাখ্যা: FIELD(str, val1, val2, ...) str কোন পজিশনে আছে তা ফেরত দেয় (1-ভিত্তিক)। ORDER BY FIELD(...) দিয়ে কাস্টম সর্ট অর্ডার ডিফাইন করা যায়। ৯৮ টেবিলে নাই, ৮৭ আছে, তাই ৮৭ ফেরত দিয়েছে।

  1. PostgreSQL-এ MySQL-এর ORDER BY FIELD() অনুকরণ করা

  2. MySQL-এ CASE WHEN column1 IS NULL THEN NULL ELSE column2 END ব্যবহার

  3. MySQL-এ একক ফিল্ড দ্বারা অর্ডার করে বাকি রেকর্ডগুলো একই ক্রমে দেখানো

  4. MySQL-এ GROUP BY ব্যবহার করে ফিল্ড আপডেট করা