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

MySQL-এ শেষ ২০টি রেকর্ড আরোহী ক्रमে (ASC) দেখানো

MySQL-এ টেবিলের শেষ N টি রেকর্ড আরোহী ক্রমে (ASC) পেতে সাবকোয়েরিতে ORDER BY ... DESC LIMIT N করুন, তারপর বাহ্যিক কোয়েরিতে ORDER BY ... ASC করুন।

সিনট্যাক্স

SELECT * FROM (
    SELECT * FROM `table` ORDER BY `id_col` DESC LIMIT 20
) AS `t` ORDER BY `t`.`id_col` ASC;

উদাহরণ (২৩ রোয়ালা টেবিল, শেষ ২০টি ASC)

CREATE TABLE `ProductInformation` (
    `ProductId` INT, `ProductName` VARCHAR(100), `ProductPrice` INT
);
-- ২৩টি রো ইনসার্ট (১০১ থেকে ১২৩)

কোয়েরি

SELECT * FROM (
    SELECT * FROM `ProductInformation` ORDER BY `ProductId` DESC LIMIT 20
) AS `t1` ORDER BY `t1`.`ProductId` ASC;

ফলাফল: ProductId ১০৪ থেকে ১২৩ পর্যন্ত আরোহী ক्रमে।

ডিসেন্ডিং (DESC) আউটপুট চাইলে

SELECT * FROM (
    SELECT * FROM `ProductInformation` ORDER BY `ProductId` DESC LIMIT 20
) AS `t2` ORDER BY `t2`.`ProductId` DESC;

টিপস: বড় টেবিলে LIMIT সাথে WHERE id > last_seen_id (keyset pagination) ব্যবহার করলে পারফরম্যান্স ভালো থাকে।

  1. MySQL-এ সংখ্যাগত পার্থক্য অনুযায়ী রেকর্ড সাজানো

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

  3. MySQL-এ সাবকোয়েরি ব্যবহার করে শেষ ৩টি রো এসেন্ডিং অর্ডারে পান

  4. MySQL-এ LEFT, LENGTH, LOCATE, REVERSE দিয়ে নামের শেষ স্পেসের বামপাশের অংশ বের করা