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

MySQL-এ LIMIT ব্যবহার করে টোটাল রো সংখ্যা বের করা

LIMIT ক্লজ ব্যবহার করার সময় টোটাল রো সংখ্যা জানতে SQL_CALC_FOUND_ROWS অপশন ব্যবহার করুন।

সিনট্যাক্স

SELECT SQL_CALC_FOUND_ROWS * FROM yourTableName LIMIT 0, yourLastValue;

এরপর SELECT FOUND_ROWS(); চালিয়ে টোটাল রো পান।

উদাহরণ দিয়ে বুঝি

টেবিল তৈরি করুন:

mysql> CREATE TABLE RowsUsingLimit (
    -> Id INT NOT NULL,
    -> Name VARCHAR(10)
    -> );
Query OK, 0 rows affected (3.50 sec)

রেকর্ড ইনসার্ট করুন:

mysql> INSERT INTO RowsUsingLimit VALUES(10, 'Larry');
mysql> INSERT INTO RowsUsingLimit VALUES(9, 'Mike');
mysql> INSERT INTO RowsUsingLimit VALUES(15, 'Sam');
mysql> INSERT INTO RowsUsingLimit VALUES(20, 'Bob');
mysql> INSERT INTO RowsUsingLimit VALUES(1, 'Carol');
mysql> INSERT INTO RowsUsingLimit VALUES(18, 'David');

সকল রেকর্ড:

mysql> SELECT * FROM RowsUsingLimit;
+----+-------+
| Id | Name  |
+----+-------+
| 10 | Larry |
|  9 | Mike  |
| 15 | Sam   |
| 20 | Bob   |
|  1 | Carol |
| 18 | David |
+----+-------+
6 rows in set (0.00 sec)

LIMIT সহ SQL_CALC_FOUND_ROWS ব্যবহার

mysql> SELECT SQL_CALC_FOUND_ROWS * FROM RowsUsingLimit LIMIT 0,6;
+----+-------+
| Id | Name  |
+----+-------+
| 10 | Larry |
|  9 | Mike  |
| 15 | Sam   |
| 20 | Bob   |
|  1 | Carol |
| 18 | David |
+----+-------+
6 rows in set (0.00 sec)

টোটাল রো সংখ্যা বের করুন

mysql> SELECT FOUND_ROWS();
+--------------+
| FOUND_ROWS() |
+--------------+
|            6 |
+--------------+
1 row in set (0.00 sec)

ব্যবহার ক্ষেত্র: পেজিনেশন (pagination) ইমপ্লিমেন্ট করার সময় এটি খুব উপকারী - একবারে লিমিটেড রো ফেচ করলেও টোটাল রো কাউন্ট পাওয়া যায়।

নোট: MySQL 8.0.17+ এ SQL_CALC_FOUND_ROWS ডিপ্রিকেট করা হয়েছে। বিকল্প হিসেবে আলাদা SELECT COUNT(*) কোয়েরি চালানোর পরামর্শ দেওয়া হয়।

  1. MySQL-এ INFORMATION_SCHEMA এবং SUM() ব্যবহার করে একাধিক ডাটাবেসের টেবিল রো সংখ্যা যোগ করুন

  2. MySQL-এ COUNT(*) ব্যবহার করে টেবিলের রো সংখ্যা সহজে বের করুন

  3. MySQL-এ নির্দিষ্ট শর্ত অনুযায়ী সিঙ্গেল রো বের করা

  4. MySQL-এ UNION ALL এবং LIMIT ব্যবহার করে একাধিক টেবিল থেকে মোট রো সীমাবদ্ধ করা