count和distinct

Posted lxyit

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了count和distinct相关的知识,希望对你有一定的参考价值。

一.count和distinct

count是统计数据条数,distinct是去掉重复列;

count统计的时候会忽略null值,distinct会将重复的null值列作为一个。

综上select count(null) from table,结果永远是0。

二.count的几种形式

常见到count(*),count(1),count(field)的统计写法,这里记录下区别:

  • count(*): 统计表中所有的行数,包括null值的列;
  • count(1): 同count(*)
  • count(field): 在列上统计个数,会忽略null值

综上,count(*)和count(1)结果一致,和count(field)不一定一致。

以上是关于count和distinct的主要内容,如果未能解决你的问题,请参考以下文章

MySQL中的 distinct 和 group by 去重效率区别

count(*),count和count(字段)的区别

高性能MySQL——count(*) 和 count和count(列名)区别

SQL语句中count和count的区别

count(*) 和 count和count(列名)区别

关于数据库优化1——关于count,count(*),和count(列名)的区别,和关于表中字段顺序的问题