আপনি ফিল্ড কমান্ডের সাহায্যে MySQL IN ক্যোয়ারীতে ক্রম বজায় রাখতে পারেন৷ সিনট্যাক্স নিম্নরূপ -
select *from yourTableName anyVariableName where anyVariableName.yourColumnName in(value1,value2,......N) order by field(anyVariableName.yourColumnName,value1,value2,......N);
উপরের সিনট্যাক্স বাস্তবায়ন করতে আসুন একটি টেবিল তৈরি করি -
mysql> create table OrderInDemo −> ( −> Id int, −> Name varchar(100), −> Age int −> ); Query OK, 0 rows affected (1.24 sec)
এখন টেবিলে কিছু রেকর্ড সন্নিবেশ করা যাক। রেকর্ড সন্নিবেশ করার জন্য ক্যোয়ারী নিম্নরূপ -
OrderInDemo মানগুলিতেmysql> insert into OrderInDemo values(90,'David',23); Query OK, 1 row affected (0.10 sec) mysql> insert into OrderInDemo values(9,'Sam',24); Query OK, 1 row affected (0.59 sec) mysql> insert into OrderInDemo values(10,'Carol',19); Query OK, 1 row affected (0.25 sec) mysql> insert into OrderInDemo values(1,'John',26); Query OK, 1 row affected (0.42 sec) mysql> insert into OrderInDemo values(3,'Johnson',25); Query OK, 1 row affected (0.18 sec) mysql> insert into OrderInDemo values(2,'Ramit',20); Query OK, 1 row affected (0.18 sec)
নির্বাচিত বিবৃতির সাহায্যে সমস্ত রেকর্ড প্রদর্শন করুন৷ প্রশ্নটি নিম্নরূপ -
mysql> select *from OrderInDemo;
নিম্নলিখিত আউটপুট −
+------+---------+------+ | Id | Name | Age | +------+---------+------+ | 90 | David | 23 | | 9 | Sam | 24 | | 10 | Carol | 19 | | 1 | John | 26 | | 3 | Johnson | 25 | | 2 | Ramit | 20 | +------+---------+------+ 6 rows in set (0.00 sec)
মাইএসকিউএল ইন ক্যোয়ারীতে শৃঙ্খলা বজায় রাখার জন্য, শুরুতে আমরা যে সিনট্যাক্সটি আলোচনা করেছি তা প্রয়োগ করুন। প্রশ্নটি নিম্নরূপ -
mysql> select *from OrderInDemo OD where OD.Id in(10,1,3) −> order by field(OD.Id,10,1,3);
নিম্নোক্ত আউটপুট যা ক্যোয়ারীতে প্রদত্ত ক্রমানুসারে ক্রমানুসারে ফলাফল প্রদর্শন করে −
+------+---------+------+ | Id | Name | Age | +------+---------+------+ | 10 | Carol | 19 | | 1 | John | 26 | | 3 | Johnson | 25 | +------+---------+------+ 3 rows in set (0.00 sec)