count()
:用来统计表中记录的一个函数,返回符合条件的行数。
count(*)
:返回表中的记录数(包含所有列),相当于统计表的行数(不会忽略列值为NULL的记录)。
count(1)
:忽略所有列,1表示一个固定值,也可以用count(任意数字)代替(不会忽略列值为NULL的记录)。
count(列名)
:返回列名指定列的记录数,在统计结果的时候,会忽略列值为NULL的记录(不包括空字符串和0),即列值为NULL的记录不统计在内。
count(distinct 列名)
:只包括列名指定列,返回指定列的不同值的记录数,在统计结果的时候,在统计结果的时候,会忽略列值为NULL的记录(不包括空字符串和0),即列值为NULL的记录不统计在内。
-
一般情况下,Select Count (*)和Select Count(1)两着返回结果是一样的
-
假如表沒有主键(Primary key), 那么count(1)比count(*)快,
-
如果有主键的話,那主键作为count的条件时候count(主键)最快
-
如果你的表只有一个字段的话那count(*)就是最快的
-
count(*) 跟 count(1) 的结果一样,都包括对NULL的统计,而count(column) 是不包括NULL的统计
网友评论