Mysql count()函数
2016-03-11 by dongnan
举个栗子
查询 zabbix
数据库 history
表有多少条数据。
mysql> select count(*) from history;
+----------+
| count(*) |
+----------+
| 15656160 |
+----------+
1 row in set (3.90 sec)
count(*)
它返回检索行的数目,不论其是否包含 NULL
值。
count(1)
两条语句等效.
mysql> select count(1) from history;
+----------+
| count(1) |
+----------+
| 15656160 |
+----------+
1 row in set (3.90 sec)
区别
count(*)
包括了所有的列,相当于行数,在统计结果的时候不会忽略列值为NULL
。count(1)
包括了忽略所有列,用1代表代码行,在统计结果的时候不会忽略列值为NULL
。count(列名)
只包括列名那一列,在统计结果的时候,会忽略列值为空(这里的空是NULL
)的计数,即某个字段值为NULL
时不统计。