টেবিলে সঠিক রো সংখ্যা জানতে অগ্রেগেট ফাংশন COUNT(*) ব্যবহার করুন। এটি NULL মান সম্বলিত সকল রো গণনা করে।
সিনট্যাক্স
SELECT COUNT(*) AS anyAliasName FROM yourTableName;
উদাহরণ দিয়ে বুঝি
টেবিল তৈরি করুন:
mysql> CREATE TABLE CountAllRowsDemo (
-> Id INT,
-> Name VARCHAR(10),
-> Age INT
-> );
Query OK, 0 rows affected (1.49 sec)
রেকর্ড ইনসার্ট করুন (NULL মান সহ):
mysql> INSERT INTO CountAllRowsDemo VALUES(1, 'John', 23);
mysql> INSERT INTO CountAllRowsDemo VALUES(101, 'Carol', 21);
mysql> INSERT INTO CountAllRowsDemo VALUES(201, 'Sam', 24);
mysql> INSERT INTO CountAllRowsDemo VALUES(106, 'Mike', 26);
mysql> INSERT INTO CountAllRowsDemo VALUES(290, 'Bob', 25);
mysql> INSERT INTO CountAllRowsDemo VALUES(500, 'David', 27);
mysql> INSERT INTO CountAllRowsDemo VALUES(500, 'David', 27); -- ডুপ্লিকেট
mysql> INSERT INTO CountAllRowsDemo VALUES(NULL, NULL, NULL);
mysql> INSERT INTO CountAllRowsDemo VALUES(NULL, NULL, NULL);
সকল রেকর্ড:
mysql> SELECT * FROM CountAllRowsDemo;
+------+-------+------+
| Id | Name | Age |
+------+-------+------+
| 1 | John | 23 |
| 101 | Carol | 21 |
| 201 | Sam | 24 |
| 106 | Mike | 26 |
| 290 | Bob | 25 |
| 500 | David | 27 |
| 500 | David | 27 |
| NULL | NULL | NULL |
| NULL | NULL | NULL |
+------+-------+------+
9 rows in set (0.00 sec)
COUNT(*) দিয়ে টোটাল রো কাউন্ট
mysql> SELECT COUNT(*) AS TotalNumberOfRows FROM CountAllRowsDemo;
+-------------------+
| TotalNumberOfRows |
+-------------------+
| 9 |
+-------------------+
1 row in set (0.00 sec)
COUNT(*) vs COUNT(column) vs COUNT(DISTINCT column)
| ফাংশন | গণনা করে |
|---|---|
COUNT(*) | সকল রো (NULL সহ) |
COUNT(column) | সেটি কলামে NULL নয় এমন রো |
COUNT(DISTINCT column) | ইউনিক নন-NULL মান |
উদাহরণ: উপরের টেবিলে COUNT(Id) = ৭ (২টি NULL বাদ), COUNT(DISTINCT Id) = ৬ (ডুপ্লিকেট ৫০০ একবার গণনা)।