跳转至

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时不统计。
回到页面顶部