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

MySQL-এ LIMIT এবং OFFSET ব্যবহার করে প্রথম N রেকর্ড বাদ দেওয়া


MySQL-এ OFFSET ব্যবহার করে পেজিনেশন বা রেকর্ড স্কিপ করা

MySQL-এ LIMIT এবং OFFSET ব্যবহার করে কোয়ারির ফলাফল থেকে প্রথম N সংখ্যক রেকর্ড বাদ দেওয়া যায়। এটি পেজিনেশন (pagination) বাস্তবায়নের মূল টেকনিক।

সিনট্যাক্স

SELECT * FROM table_name LIMIT row_count OFFSET offset_value;
-- অথবা সংক্ষিপ্ত রূপ:
SELECT * FROM table_name LIMIT offset_value, row_count;

উদাহরণ

টেবিল তৈরি:

CREATE TABLE DemoTable (Name VARCHAR(40));
INSERT INTO DemoTable VALUES ('Chris'), ('Robert'), ('Mike'), ('Bob'), ('David');

প্রথম ৩টি রেকর্ড বাদ দিয়ে বাকিগুলো দেখানো

SELECT * FROM DemoTable LIMIT 100 OFFSET 3;

আউটপুট:

+-------+
| Name  |
+-------+
| Bob   |
| David |
+-------+

পেজিনেশন ফর্মুলা

পেজ নম্বর page (১-ভিত্তিক) এবং পেজ সাইজ pageSize হলে:

OFFSET = (page - 1) * pageSize
LIMIT = pageSize

পারফরম্যান্স সতর্কতা

  • বড় OFFSET (যেমন ১০০,০০০) দিয়ে কোয়ারি চালালে MySQL আগের রোগুলো স্কিপ করতে ফুল স্ক্যান করে — খুব ধীর হয়।
  • সমাধান: "Keyset Pagination" বা "Seek Method" ব্যবহার করুন — WHERE id > last_seen_id ORDER BY id LIMIT pageSize।
  1. MySQL-এ মাস অনুযায়ী রেকর্ড সিলেক্ট করা (MONTH() ফাংশন)

  2. MySQL-এ JOIN ব্যবহার করে দুটি টেবিলের রেজাল্ট মার্জ করা

  3. MySQL-এ SELECT এবং SHOW কমান্ডের রেজাল্ট একসাথে কাম্বাইন করা

  4. MySQL-এ সর্বোচ্চ বেতন (Highest Salary) বের করা