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

MySQL-এ LIMIT ব্যবহার করে দুটি রোর মাঝপথের ডেটা ফেচ করা

MySQL-এ নির্দিষ্ট রেঞ্জের রো ফেচ করতে (যেমন: ৩য় থেকে ৫ম রো) LIMIT offset, count সিনট্যাক্স ব্যবহার করা হয়।

টেবিল তৈরি এবং ডেটা ইনসার্ট

mysql> CREATE TABLE DemoTable (
    -> Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    -> Name VARCHAR(10)
    -> );
mysql> INSERT INTO DemoTable(Name) VALUES('Larry');
mysql> INSERT INTO DemoTable(Name) VALUES('Robert');
mysql> INSERT INTO DemoTable(Name) VALUES('Chris');
mysql> INSERT INTO DemoTable(Name) VALUES('David');
mysql> INSERT INTO DemoTable(Name) VALUES('Bob');
mysql> INSERT INTO DemoTable(Name) VALUES('Sam');
mysql> INSERT INTO DemoTable(Name) VALUES('Mike');
mysql> INSERT INTO DemoTable(Name) VALUES('Carol');
mysql> INSERT INTO DemoTable(Name) VALUES('John');

সব রেকর্ড দেখুন

mysql> SELECT * FROM DemoTable;
+----+--------+
| Id | Name   |
+----+--------+
|  1 | Larry  |
|  2 | Robert |
|  3 | Chris  |
|  4 | David  |
|  5 | Bob    |
|  6 | Sam    |
|  7 | Mike   |
|  8 | Carol  |
|  9 | John   |
+----+--------+

৩য় রো থেকে ৩টি রো ফেচ করা (LIMIT 2, 3)

mysql> SELECT * FROM DemoTable LIMIT 2, 3;

ফলাফল

+----+-------+
| Id | Name  |
+----+-------+
|  3 | Chris |
|  4 | David |
|  5 | Bob   |
+----+-------+

ব্যাখ্যা:

  • LIMIT 2, 3 মানে: ২টি রো বাদ দিয়ে (offset=2), পরের ৩টি রো নাও (count=3)
  • অর্থাৎ ৩য়, ৪র্থ, ৫ম রো (Id: 3, 4, 5)

সাধারণ সিনট্যাক্স

SELECT * FROM table_name LIMIT offset, row_count;
-- অথবা
SELECT * FROM table_name LIMIT row_count OFFSET offset;  -- MySQL 8.0+

পেজিনেশন উদাহরণ

পেজLIMITরো রেঞ্জ
১LIMIT 0, 10১-১০
২LIMIT 10, 10১১-২০
৩LIMIT 20, 10২১-৩০
nLIMIT (n-1)*10, 10(n-1)*10+1 থেকে n*10

সতর্কতা: বড় অফসেটে পারফরম্যান্স কমে। সেক্ষেত্রে কার্সর-ভিত্তিক পেজিনেশন (WHERE id > last_id LIMIT 10) ভালো।

  1. MySQL-এ BETWEEN দিয়ে দুটি তারিখের রেঞ্জের মধ্যে সকল ডেটা বের করা

  2. MySQL-এ দুটি তারিখের মধ্যে সার্চ করা

  3. MySQL-এ ভিন্ন মানদ्वয়ের মধ্যে থেকে একটি মান ফেচ করা

  4. MySQL-এ REPLACE() ফাংশন ব্যবহার করে শব্দের মাঝপথি স্পেস মুছে ফেলা