跳到主要内容

COUNT

声明

COUNT([DISTINCT | ALL] expr)

说明

返回 SELECT 语句检索到的行中非 NULL 值的数目。如果找不到匹配的行,则返回 0DISTINCT 选项可用于返回 expr 的不同值的数目。

COUNT(*) 的稍微不同之处在于,它返回检索行的数目,不论其是否包含 NULL 值。

示例

SELECT * FROM test;
+----+------+------+
| id | ip | ip2 |
+----+------+------+
| 1 | 4 | NULL |
| 3 | 3 | NULL |
| 4 | 3 | NULL |
+----+------+------+
3 rows in set (0.002 sec)

SELECT COUNT(ip2), COUNT(ip), COUNT(DISTINCT(ip)), COUNT(*) FROM test;
+------------+-----------+---------------------+----------+
| count(ip2) | count(ip) | count(distinct(ip)) | count(*) |
+------------+-----------+---------------------+----------+
| 0 | 3 | 2 | 3 |
+------------+-----------+---------------------+----------+
1 row in set (0.001 sec)