টেবিল তৈরি এবং ডেটা ইনসার্ট
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(...) দিয়ে কাস্টম সর্ট অর্ডার ডিফাইন করা যায়। ৯৮ টেবিলে নাই, ৮৭ আছে, তাই ৮৭ ফেরত দিয়েছে।