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

MySQL ক্যোয়েরির জন্য দ্রুততম টোটাল রো কাউন্ট পাওয়ার উপায়

টোটাল রো কাউন্ট পেতে সাবকোয়েরির সাথে COUNT(*) এগ্রিগেট ফাংশন ব্যবহার করুন।

টেবিল তৈরি করা

mysql> create table DemoTable ( StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY, StudentFirstName varchar(20), StudentAge int ); Query OK, 0 rows affected (0.48 sec)

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

mysql> insert into DemoTable(StudentFirstName,StudentAge) values('John',23); Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable(StudentFirstName,StudentAge) values('Larry',21); Query OK, 1 row affected (0.40 sec)
mysql> insert into DemoTable(StudentFirstName,StudentAge) values('Johnny',23); Query OK, 1 row affected (0.43 sec)
mysql> insert into DemoTable(StudentFirstName,StudentAge) values('Chris',21); Query OK, 1 row affected (0.18 sec)
mysql> insert into DemoTable(StudentFirstName,StudentAge) values('David',23); Query OK, 1 row affected (0.20 sec)
mysql> insert into DemoTable(StudentFirstName,StudentAge) values('James',21); Query OK, 1 row affected (0.18 sec)
mysql> insert into DemoTable(StudentFirstName,StudentAge) values('Jace',24); Query OK, 1 row affected (0.12 sec)
mysql> insert into DemoTable(StudentFirstName,StudentAge) values('Mike',21); Query OK, 1 row affected (0.16 sec)
mysql> insert into DemoTable(StudentFirstName,StudentAge) values('Robert',25); Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable(StudentFirstName,StudentAge) values('Mike',22); Query OK, 1 row affected (0.23 sec)

রেকর্ড প্রদর্শন

mysql> select * from DemoTable;

আউটপুট:

+-----------+------------------+------------+ | StudentId | StudentFirstName | StudentAge | +-----------+------------------+------------+ | 1 | John | 23 | | 2 | Larry | 21 | | 3 | Johnny | 23 | | 4 | Chris | 21 | | 5 | David | 23 | | 6 | James | 21 | | 7 | Jace | 24 | | 8 | Mike | 21 | | 9 | Robert | 25 | | 10 | Mike | 22 | +-----------+------------------+------------+ 10 rows in set (0.00 sec)

টোটাল রো কাউন্ট পাওয়া

mysql> select StudentFirstName,(select count(*) from DemoTable) AS Total_Count from DemoTable limit 10;

আউটপুট:

+------------------+-------------+ | StudentFirstName | Total_Count | +------------------+-------------+ | John | 10 | | Larry | 10 | | Johnny | 10 | | Chris | 10 | | David | 10 | | James | 10 | | Jace | 10 | | Mike | 10 | | Robert | 10 | | Mike | 10 | +------------------+-------------+ 10 rows in set (0.03 sec)

ব্যাখ্যা: সাবকোয়েরি (select count(*) from DemoTable) একবার এক্সিকিউট হয় এবং সব রোয়ের জন্য একই ভ্যালু রিটার্ন করে। বড় টেবিলের জন্য SQL_CALC_FOUND_ROWS বা আলাদা SELECT COUNT(*) বেশি কার্যকর হতে পারে।

  1. MySQL-এ একক কোয়ারিতে দুটি কলামের মান গণনা করা

  2. MySQL-এ কলামের সর্বোচ্চ মান পেতে সবচেয়ে দ্রুত পদ্ধতি: MAX() বনাম ORDER BY LIMIT

  3. MySQL-এ একক কুয়েরিতে একাধিক টেবিলের সারি গণনার যোগফল বের করা

  4. MySQL에서 SUM(조건)으로 특정 값 카운트 한 번에 여러 개 구하기