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

MySQL-এ সাবকোয়েরি দিয়ে 세컨্ড লাস্ট (২য় শেষ) রেকর্ড বের করা

MySQL-এ টেবিলের দ্বিতীয় শেষ রেকর্ড (Second last record) বের করতে সাবকোয়েরি সহ LIMIT ব্যবহার করুন।

সিনট্যাক্স

SELECT * FROM (
    SELECT * FROM yourTableName
    ORDER BY idCol DESC
    LIMIT 2
) AS sub
ORDER BY idCol ASC
LIMIT 1;

উদাহরণ

CREATE TABLE lastRecordBeforeLastOne (
    Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    Name VARCHAR(20) DEFAULT 'John',
    Age INT DEFAULT 18
);

INSERT INTO lastRecordBeforeLastOne (Name, Age) VALUES
('Larry',23),('Mike',19),('Sam',24),('Bob',26),
('David',22),('James',29),('Carol',21),('Maxwell',29),('Chris',25);

কোয়েরি

SELECT * FROM (
    SELECT * FROM lastRecordBeforeLastOne
    ORDER BY Id DESC
    LIMIT 2
) AS tbl1
ORDER BY Id ASC
LIMIT 1;

ফলাফল

+----+---------+------+
| Id | Name    | Age  |
+----+---------+------+
| 9  | Maxwell | 29   |
+----+---------+------+

ব্যাখ্যা

  1. ইনার কোয়েরি: DESC সর্ট করে শেষ ২ রো নেয় (Id 10, 9)
  2. আউটার কোয়েরি: ASC সর্ট করে 그중 প্রথমটি নেয় (Id 9)

MySQL 8.0+ উইন্ডো ফাংশন

WITH Ranked AS (
    SELECT *, ROW_NUMBER() OVER (ORDER BY Id DESC) AS rn
    FROM lastRecordBeforeLastOne
)
SELECT * FROM Ranked WHERE rn = 2;
  1. Java দিয়ে MySQL ডেটাবেস থেকে লাস্ট রেকর্ড পাওয়া

  2. MySQL-এ টেবিলের প্রথম এবং শেষ রেকর্ড বের করা

  3. MySQL-এ LIMIT এবং OFFSET দিয়ে শীর্ষ ৩ স্যালারি বের করা

  4. MySQL-এ ORDER BY DESC LIMIT 1,1 ব্যবহার করে ২য় সর্বোচ্চ মান বের করা