SQL計算資料筆數COUNT(*)
與COUNT(column)
差別如下。
COUNT(*)
是計算全部的資料筆數,而COUNT(column)
會略過column
為null的欄位筆數。
例如下面EMPLOYEE
資料表有5筆資料,部分資料的AGE
欄位為null。
EMPLOYEE
+----+------+---------+
| ID | NAME | AGE |
+----+------+---------+
| 1 | john | 33 |
| 2 | mary | 24 |
| 3 | bill | 41 |
| 4 | lily | (null) |
| 5 | hank | (null) |
+----+------+---------+
執行COUNT(*)
。
SELECT COUNT(*) FROM EMPLOYEE;
+----------+
| COUNT(*) |
+----------+
| 5 |
+----------+
執行COUNT(AGE)
。
SELECT COUNT(AGE) FROM EMPLOYEE;
+------------+
| COUNT(AGE) |
+------------+
| 3 |
+------------+
因此一般情況要計算條件查詢的資料筆數用COUNT(*)
。
沒有留言:
張貼留言