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

MySQL-এ IN ক্লজের মানগুলোর নির্দিষ্ট ক্রমে সর্ট করা (FIELD ফাংশন)

MySQL-এ WHERE col IN (val1, val2, ...) দিয়ে ফিল্টার করার পর রেজাল্টগুলো IN লিস্টের ক্রম অনুযায়ী সাজাতে ORDER BY FIELD(col, val1, val2, ...) ব্যবহার করুন।

সিনট্যাক্স

SELECT * FROM `table`
WHERE `col` IN (val1, val2, val3)
ORDER BY FIELD(`col`, val1, val2, val3);

উদাহরণ

CREATE TABLE `SelectInDemo` (
    `StudentId` INT, `StudentName` VARCHAR(100), `StudentAge` INT
);
INSERT INTO `SelectInDemo` VALUES
(1,'Mike',23), (10,'Bob',21), (11,'Carol',30),
(15,'Sam',24), (20,'John',26), (101,'David',27), (96,'Justin',23);

নির্দিষ্ট ক্রমে সর্ট

SELECT * FROM `SelectInDemo`
WHERE `StudentId` IN (1,96,101,10,15,11,20)
ORDER BY FIELD(`StudentId`, 1,96,101,10,15,11,20);

ফলাফল: ঠিক লিস্টের ক্রম অনুযায়ী (1, 96, 101, 10, 15, 11, 20)।

ব্যবহার: কাস্টম সর্টিং, প্রায়োরিটি-ভিত্তিক লিস্ট, ড্রপডাউন অর্ডার মেনে রেজাল্ট দেখানো।

  1. MySQL-এ SELECT NULL স্টেটমেন্ট ব্যবহার করা যায় কিনা?

  2. MySQL SELECT স্টেটমেন্টে রো ইন্ডেক্স (র‍্যাঙ্ক) জেনারেট করার পদ্ধতি

  3. MySQL-এ ORDER BY Amount=0, Amount দিয়ে শূন্য মানগুলো শেষে পাঠানো

  4. MySQL-এ UNION SELECT এবং IN ক্লজ একসাথে ব্যবহার