Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

การนับจำนวนแถวที่แน่นอนใน MySQL ด้วย COUNT(*)

ใช้ 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(*) - นับทุกแถว รวม NULL
  • COUNT(column) - นับเฉพาะแถวที่คอลัมน์นั้นไม่เป็น NULL