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

MySQL-এ IN অপারেটর দিয়ে মানগুলির তালিকা কোয়েরি করা

MySQL-এ একাধিক নির্দিষ্ট মান খুঁজে বের করতে IN অপারেটর এবং ফলাফল কাস্টম ক্রমে সাজাতে FIELD() ফাংশন ব্যবহার করুন।

সিনট্যাক্স

SELECT * FROM yourTableName WHERE yourColumnName IN(Value1, Value2, ...) ORDER BY FIELD(yourColumnName, Value1, Value2, ...);

উদাহরণ

টেবিল তৈরি করি:

mysql> create table ListOfValues 
    -> ( 
    -> Id int NOT NULL AUTO_INCREMENT, 
    -> Name varchar(30), 
    -> Age int, 
    -> PRIMARY KEY(Id) 
    -> ); Query OK, 0 rows affected (0.72 sec)

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

mysql> insert into ListOfValues(Name,Age) values('Carol',23); 
mysql> insert into ListOfValues(Name,Age) values('Bob',25); 
mysql> insert into ListOfValues(Name,Age) values('Sam',26); 
mysql> insert into ListOfValues(Name,Age) values('John',20); 
mysql> insert into ListOfValues(Name,Age) values('Mike',28); 
mysql> insert into ListOfValues(Name,Age) values('David',27); 
mysql> insert into ListOfValues(Name,Age) values('Larry',21);

সকল রেকর্ড

mysql> select *from ListOfValues;

আউটপুট

+----+-------+------+
| Id | Name  | Age  |
+----+-------+------+
|  1 | Carol | 23   |
|  2 | Bob   | 25   |
|  3 | Sam   | 26   |
|  4 | John  | 20   |
|  5 | Mike  | 28   |
|  6 | David | 27   |
|  7 | Larry | 21   |
+----+-------+------+
7 rows in set (0.00 sec)

Age কলামে নির্দিষ্ট মানগুলোর তালিকা কাস্টম ক্রমে

mysql> select *from ListOfValues where Age IN(20,21,23,25,26,27,28) ORDER BY FIELD(Age,20,21,23,25,26,27,28);

ফলাফল

+----+-------+------+
| Id | Name  | Age  |
+----+-------+------+
|  4 | John  | 20   |
|  7 | Larry | 21   |
|  1 | Carol | 23   |
|  2 | Bob   | 25   |
|  3 | Sam   | 26   |
|  6 | David | 27   |
|  5 | Mike  | 28   |
+----+-------+------+
7 rows in set (0.06 sec)
  1. MySQL-এ NULL মানवाले রেকর্ডগুলোতে নির্দিষ্ট মান সেট করা

  2. MySQL-এ খালি মান (Empty String) NULL-এ রূপান্তর করা

  3. MySQL কোয়েরি দিয়ে একাধিক ন্যূনতম মান বের করা

  4. MySQL-এ FIND_IN_SET ব্যবহার করে কমা-সেপারেটেড স্ট্রিং লিস্টে মান খুঁজে সিলেক্ট করা