একটি নির্দিষ্ট ক্রমে ডেটা সাজানোর জন্য ORDER BY IF() ব্যবহার করুন। নিম্নলিখিত সিনট্যাক্স −
আপনার টেবিলের নাম থেকে ORDER BY IF(yourColumnName=yourValue1 ORyourColumnName=yourValue2 OR yourColumnName=yourValue3,yourColumnName,~yourColumnName) ASC থেকে *নির্বাচন করুন;
আসুন প্রথমে একটি টেবিল তৈরি করি -
mysql> টেবিল সাজান DataInSpecificOrder -> ( -> StudentId int, -> StudentName varchar(20) -> );কোয়েরি ঠিক আছে, 0 সারি প্রভাবিত (0.64 সেকেন্ড)
নিচে ইনসার্ট কমান্ড −
ব্যবহার করে টেবিলে কিছু রেকর্ড সন্নিবেশ করার জন্য ক্যোয়ারী দেওয়া হলmysql> arrangeDataInSpecificOrder মান (10,'Larry');কোয়েরি ঠিক আছে, 1 সারি প্রভাবিত (0.12 সেকেন্ড)mysql> arrangeDataInSpecificOrder মানগুলিতে সন্নিবেশ করুন(15,'মাইক');কোয়েরি ঠিক আছে, 1 সারি প্রভাবিত (0.0 সেকেন্ড) )mysql> arrangeDataInSpecificOrder মান (100,'Sam') এ ঢোকান;কোয়েরি ঠিক আছে, 1 সারি প্রভাবিত (0.16 সেকেন্ড)mysql> arrangeDataInSpecificOrder মানগুলিতে ঢোকান (70,'ক্যারল');কোয়েরি ঠিক আছে, 1 সারি প্রভাবিত (0.1 সেকেন্ড) mysql> arrangeDataInSpecificOrder মান (90,'Bob');কোয়েরি ঠিক আছে, 1 সারি প্রভাবিত (0.14 সেকেন্ড)mysql> সন্নিবেশ করান DataInSpecificOrder মান (300,'David');কোয়েরি ঠিক আছে, 1 সারি প্রভাবিত (0.12 সেকেন্ড)
−
নির্বাচনী বিবৃতি ব্যবহার করে টেবিল থেকে সমস্ত রেকর্ড প্রদর্শন করার জন্য নিচের প্রশ্নটি রয়েছেmysql> arrangeDataInSpecificOrder থেকে * নির্বাচন করুন;
এটি নিম্নলিখিত আউটপুট −
তৈরি করবে <প্রে>+------------+------------+| StudentId | ছাত্রের নাম |+------------+------------+| 10 | ল্যারি || 15 | মাইক || 100 | স্যাম || 70 | ক্যারল || 90 | বব || 300 | ডেভিড |+------------+------------+6 সারি সেটে (0.00 সেকেন্ড)এখানে নির্দিষ্ট ক্রমে ডেটা সাজানোর ক্যোয়ারী রয়েছে −
IF(StudentId=300 ORStudentId=100 OR StudentId=10,StudentId, ~StudentId) ASC;এটি নিম্নলিখিত আউটপুট −
তৈরি করবে <প্রে>+------------+------------+| StudentId | ছাত্রের নাম |+------------+------------+| 10 | ল্যারি || 100 | স্যাম || 300 | ডেভিড | | 90 | বব || 70 | ক্যারল || 15 | মাইক |+------------+------------+6 সারি সেটে (0.00 সেকেন্ড)