count(1)、count(*)与count(列名)区别
时间: 2024-06-04 15:07:35 浏览: 15
count(1)、count(*)和count(列名)都是用来统计行数的,但它们之间有一些区别。
- count(1)和count(*)是等价的,它们都会统计查询结果集中的行数,包括NULL和重复值。
- count(列名)只会统计该列存在非NULL值的行数,不会统计NULL值和重复值。
因此,如果只是为了统计行数,使用count(1)或count(*)更为常见和推荐,而如果想要统计某一列非NULL值的数量,使用count(列名)更为合适。
相关问题
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)。
count(1)、count(*) 与 count(列名) 的区别
count(*)表示统计表中所有行的数量,包括空值和重复值。
count(列名)表示统计该列中非空值的数量,不包括重复值。
count(distinct 列名)表示统计该列中不同的非空值的数量,不包括重复值。
例如,有一张学生表,其中有一个“性别”列,包含“男”、“女”、“未知”三种取值。使用count(*)可以统计表中所有学生的数量;使用count(性别)可以统计性别列中非空值的数量,即男女学生的数量;使用count(distinct 性别)可以统计性别列中不同的非空值的数量,即男女两种性别的数量。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)