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

MySQL-এ ORDER BY FIELD() ব্যবহার করে কাস্টম ক্রম (যেমন ৪,২,১,৩) এ সাজানো

কাস্টম ক্রমে সাজাতে ORDER BY FIELD() ফাংশন ব্যবহার করুন। প্রথমে একটি টেবিল তৈরি করি:

mysql> CREATE TABLE DemoTable (Number INT);

রেকর্ড যোগ করি:

mysql> INSERT INTO DemoTable VALUES(1), (4), (2), (3);

সকল রেকর্ড দেখতে:

mysql> SELECT * FROM DemoTable;

আউটপুট:

+--------+
| Number |
+--------+
| 1      |
| 4      |
| 2      |
| 3      |
+--------+

কাস্টম ক্রম (৪, ২, ১, ৩) অনুযায়ী সাজানো:

mysql> SELECT * FROM DemoTable ORDER BY FIELD(Number, 4, 2, 1, 3);

আউটপুট:

+--------+
| Number |
+--------+
| 4      |
| 2      |
| 1      |
| 3      |
+--------+

ব্যাখ্যা: FIELD(Number, 4, 2, 1, 3) ফাংশনটি:

  • Number=4 হলে ১ ফেরত দেয় (প্রথম পজিশন)
  • Number=2 হলে ২ ফেরত দেয়
  • Number=1 হলে ৩ ফেরত দেয়
  • Number=3 হলে ৪ ফেরত দেয়
  • লিস্টে নেই হলে ০ ফেরত দেয় (সবচেয়ে আগে আসবে ASC-এ)

ব্যবহার ক্ষেত্র: প্রায়োরিটি ভিত্তিক সর্টিং, স্ট্যাটাস অর্ডার (Pending, Processing, Shipped, Delivered), ক্যাটেগরি র‍্যাঙ্কিং ইত্যাদি।

নোট: FIELD() এর আর্গুমেন্টগুলো কনস্ট্যান্ট হতে হবে (কলাম বা এক্সপ্রেশন নয়)।

  1. MySQL-এ অটো-ইনক্রিমেন্ট কলাম অনুযায়ী সর্ট (ORDER BY Id DESC)

  2. MySQL-এ আইটেমের অর্ডার পরিবর্তন করা

  3. MySQL-এ গ্রুপ করা ফিল্ডের মাধ্যমে ORDER BY করার পদ্ধতি

  4. MySQL-এ ORDER BY FIELD() ব্যবহার করে কাস্টম সর্ট অর্ডার বাস্তবায়ন