在数据分析工作中,我们常用聚合函数COUNT()统计一些特定条件的行数。常用的用法有如下三种:
- COUN(*)
- COUNT(1)
- COUNT(字段)
那它们三者的区别在哪里呢。
COUNT(*)用来计算表中所有行的数量,包括那些包含NULL值的行。
COUNT(1)也用于计算所有行的数量,它也不会忽略任何行。
COUNT(字段)则用来计算指定列中非NULL值的数量,即如果某一行中的指定列是NULL,那这一行不会被计数。
从执行结果上看,COUNT(*)和COUNT(1)效果相同,然而在执行时,前者不需要访问表的具体列数据来计算行数,因此可更快执行。而后者也计算所有行,但它实际上是对一个常量表达式进行计数。这意味着它必须遍历表中每一行来确定总数。尽管如此,但其实际场景中两者性能差异可能非常小,甚至可以忽略不计。COUNT(字段)肯定是最慢的,因为它需要检查每一行的指定列是否为NULL。
标签:COUNT,NULL,指定,一行,用法,计算,表中,解析 From: https://blog.csdn.net/nsnlc_/article/details/141536037