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

MySQL-এ প্রতি ২টি সারি স্কিপ করে পরবর্তী সারি সিলেক্ট করা

OFFSET এবং LIMIT ব্যবহার করে সারি স্কিপ করে সিলেক্ট করা যায়। ORDER BY দিয়ে প্রথমে সাজাতে হয়।

উদাহরণ:

টেবিল তৈরি (১০টি রেকর্ড):

CREATE TABLE DemoTable617 (
    Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    FirstName VARCHAR(100)
);
INSERT INTO DemoTable617(FirstName) VALUES
('John'), ('Sam'), ('Carol'), ('Mike'), ('David'),
('Bob'), ('Robert'), ('Chris'), ('Mike'), ('Adam');

সব রেকর্ড দেখানো:

SELECT * FROM DemoTable617;

আউটপুট:

+----+-----------+
| Id | FirstName |
+----+-----------+
| 1  | John      |
| 2  | Sam       |
| 3  | Carol     |
| 4  | Mike      |
| 5  | David     |
| 6  | Bob       |
| 7  | Robert    |
| 8  | Chris     |
| 9  | Mike      |
| 10 | Adam      |
+----+-----------+

FirstName DESC করে, ২টি স্কিপ করে ৫টি নেওয়া:

SELECT tbl.* FROM (
    SELECT * FROM DemoTable617
    ORDER BY FirstName DESC
    LIMIT 5 OFFSET 2
) AS tbl
ORDER BY tbl.Id;

ফলাফল:

+----+-----------+
| Id | FirstName |
+----+-----------+
| 1  | John      |
| 4  | Mike      |
| 5  | David     |
| 8  | Chris     |
| 9  | Mike      |
+----+-----------+

ব্যাখ্যা: প্রথমে FirstName DESC সাজানো হয় (Sam, Robert, Mike, Mike, John, David, Chris, Carol, Bob, Adam)। OFFSET 2 দিয়ে প্রথম ২টি (Sam, Robert) স্কিপ। LIMIT 5 দিয়ে পরের ৫টি নেওয়া হয়। আউটার ORDER BY Id দিয়ে আসল আইডি ক্রমে সাজানো হয়।

  1. MySQL ট্রিগারে 'FOR EACH ROW' কীভাবে কাজ করে?

  2. MySQL-এ পরবর্তী অটো-ইনক্রিমেন্ট আইডি কীভাবে পাবেন?

  3. MySQL-এ শেষ ১০টি সারি কীভাবে বের করবেন?

  4. MySQL-এ LIMIT ব্যবহার করে পেজিনেশন (পরের সারি নির্বাচন)