.count(1)、count(*) 与 count(列名) 的区别?
时间: 2023-03-24 10:04:53 浏览: 55
.count(1) 返回查询结果集中行数,不考虑 NULL 值。
.count(*) 返回查询结果集中行数,不考虑 NULL 值。
.count(列名) 返回查询结果集中该列非 NULL 值的行数。
相关问题
.count(1)、count(*) 与 count(列名) 的区别?
.count(1) 返回的是查询结果集中行的数量,不考虑任何列的值,只要该行存在,就计数1次。
.count(*) 返回的是查询结果集中行的数量,不考虑任何列的值,只要该行存在,就计数1次。与 .count(1) 的区别在于,.count(*) 会查询所有列的值,而 .count(1) 只查询一个常量值。
.count(列名) 返回的是查询结果集中该列不为 NULL 的行的数量。
count(1)、count(*) 与 count(列名) 的区别?
count(1)、count(*) 与 count(列名) 的区别如下:
1. count(1):表示统计满足条件的行数,括号中的 1 表示给每一行都赋一个值为1,然后对这些1求和,因为对每行都赋了个值,所以结果就是行数。
2. count(*):表示统计满足条件的行数,不区分 NULL 和非 NULL 值,可以说是最常用的计算表中行数的方法。
3. count(列名):表示统计该列中非 NULL 值的数量。如果列中有 NULL 值,则不会统计进去。
总之,这三个计数函数的区别在于对 NULL 值的处理和统计方式。在实际应用中,一般选择 count(*) 或 count(列名) 进行统计。如果只需要了解满足条件的行数,可以选择 count(1)。
阅读全文