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 দিয়ে আসল আইডি ক্রমে সাজানো হয়।