ใช้ Aggregate Function 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); -- duplicate mysql> insert into CountAllRowsDemo values(NULL,NULL,NULL); -- all NULL mysql> insert into CountAllRowsDemo values(NULL,NULL,NULL); -- all NULL
ข้อมูลทั้งหมด 9 แถว:
+------+-------+------+ | 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 | +------+-------+------+
นับจำนวนแถว:
mysql> SELECT COUNT(*) AS TotalNumberOfRows FROM CountAllRowsDemo;
ผลลัพธ์:
+-------------------+ | TotalNumberOfRows | +-------------------+ | 9 | +-------------------+
ความแตกต่าง COUNT(*) vs COUNT(column)
COUNT(*)- นับทุกแถว รวม NULLCOUNT(column)- นับเฉพาะแถวที่คอลัมน์นั้นไม่เป็น NULL