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

MySQL-এ IN ক্লজ এবং ORDER BY FIELD ব্যবহার করে নির্দিষ্ট ক্রমে ডেটা বের করা

IN() ক্লজ দিয়ে ফিল্টার এবং ORDER BY FIELD() দিয়ে কাস্টম ক্রমে সর্ট করা যায়।

টেবিল ও ডেটা:

mysql> CREATE TABLE DemoTable1986 (Number INT);
mysql> INSERT INTO DemoTable1986 VALUES (50), (60), (100), (200), (350);

নির্দিষ্ট মান (50, 100, 350) কাস্টম অর্ডারে (350, 100, 50):

mysql> SELECT * FROM DemoTable1986
    WHERE Number IN(50,100,350)
    ORDER BY FIELD(Number, 350, 100, 50);

আউটপুট:

+--------+
| Number |
+--------+
| 350    |
| 100    |
| 50     |
+--------+

ব্যাখ্যা

  • IN(50,100,350) — শুধু এই তিনটি মান ফিল্টার করে।
  • FIELD(Number, 350, 100, 50) — Number কলামের মান 350 হলে ১, 100 হলে ২, 50 হলে ৩ রিটার্ন করে। সেট অনুযায়ী সর্ট হয়।
  • লিস্টে নাই মান হলে ০ রিটার্ন করে (সর্বশেষে আসে)।

এই পদ্ধতিতে যেকোনো কাস্টম সর্টিং অর্ডার বাস্তবায়ন করা যায়।

  1. MySQL에서 IS NOT NULL로 NULL 제외하고 NOT NULL 값만 다른 테이블로 복사하기

  2. MySQL REGEXP-এ পারেনথেসিস এস্কেপ করে নির্দিষ্ট ফরম্যাট (MySQL(1)Database) বের করা

  3. MySQL-এ COALESCE() ফাংশন দিয়ে প্রথম নন-নাল মান দেখানো

  4. MySQL-এ REGEXP ব্যবহার করে শুধু স্ট্রিং বা স্ট্রিং-নম্বর মিশ্র রেকর্ড ফিল্টার করা