boxifeng 2017-07-06
MySQL 统计中count() 与 sum() 说明:
1.count() 返回检索行的数目
COUNT(col)返回指定列中非NULL值的个数。
count(*) 它返回检索行的数目, 不论其是否包含 NULL值。
若找不到匹配的项,则COUNT(DISTINCT)返回 0 。
2.SUM(col)返回指定列的所有值之和
count()函数里面的参数是列名的的时候,那么会计算有值项的次数。
Sum()函数里面的参数是列名的时候,是计算列名的值的相加,而不是有值项的总数。
对count()行数还要注意:它会计算总行数。不管你是否有值都会列入计算范围。另外一点:mysqlisam引擎很容易获得总行数的统计。查询速度变得更快
归纳:实际编程中统计总行数是经常用到的。此时使用count(*)多处可见。我很少看到有人使用列名作为参数:count(a)的情况。即使是这样使用,可能其初衷也是想统计行数。只是不知道!这样所造成的细微差异而错误使用了"列名"的形式。