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

MySQL IN ক্লজে নির্দিষ্ট ক্রমে ফলাফল পাওয়া (FIND_IN_SET ফাংশন)

FIND_IN_SET() দিয়ে কাস্টম অর্ডারিং

MySQL-এ IN ক্লজ ব্যবহার করলে ফলাফল ডিফল্টভাবে इंडেক্স বা প্রাইমারি কি অনুযায়ী সর্ট হয়। নির্দিষ্ট ক্রমে ফলাফল পেতে FIND_IN_SET() ফাংশন ব্যবহার করুন।

সিনট্যাক্স

SELECT * FROM yourTableName
WHERE id IN (val1, val2, val3)
ORDER BY FIND_IN_SET(id, 'val1,val2,val3');

উদাহরণ

mysql> CREATE TABLE returnRecordSetOrderDemo (Id INT, Name VARCHAR(20));
mysql> INSERT INTO returnRecordSetOrderDemo VALUES
    -> (100,'John'), (130,'Carol'), (103,'Bob'), (134,'Sam'), (102,'Larry'), (145,'David');

নির্দিষ্ট ক্রমে: 100, 145, 103, 130

mysql> SELECT * FROM returnRecordSetOrderDemo
    -> WHERE Id IN (100, 145, 103, 130)
    -> ORDER BY FIND_IN_SET(Id, '100,145,103,130');
+------+-------+
| Id   | Name  |
+------+-------+
| 100  | John  |
| 145  | David |
| 103  | Bob   |
| 130  | Carol |
+------+-------+

ব্যাখ্যা: FIND_IN_SET স্ট্রিং-এ মানটি কোন পজিশনে আছে তা রিটার্ন করে, এবং ORDER BY সেটি অনুযায়ী সাজায়।

  1. Java দিয়ে MySQL ডেটাবেস থেকে লাস্ট রেকর্ড পাওয়া

  2. MySQL-এ SUBSTRING_INDEX() দিয়ে কমা-সেপারেটেড সংখ্যার সেটের প্রথম সংখ্যা দিয়ে ORDER BY করা

  3. MySQL-এ নির্দিষ্ট ক্রমে (SET ORDER) সিলেক্ট করার পদ্ধতি

  4. MySQL-এ ORDER BY এবং LIMIT OFFSET দিয়ে ২য় সারি বের করা