count(1)与count(*)区别
时间: 2023-06-05 09:47:26 浏览: 113
count(1)、count(*)与count(列名)的执行区别详解
在SQL中,count(1)与count(*)都是用来计算行数的聚合函数。它们的区别在于count(1)会对每条记录进行一次计算,而count(*)会对所有行进行计算。
具体来说,count(1)会把1作为参数传递给聚合函数,然后对每条记录进行计算。因为每条记录都有一个非空值,所以count(1)会统计所有行的数量,包括那些NULL值和重复记录。
相比之下,count(*)会对所有行进行计算,包括那些包含NULL值的行和重复记录,因为它直接统计行数,而不考虑参数是否为NULL。
所以,一般情况下,使用count(*)会更简单和更快速地计算总行数。而使用count(1)则适用于需要统计非空值数量的情况。
阅读全文