SQL语句中 聚合函数count()忽略空值么?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL语句中 聚合函数count()忽略空值么?相关的知识,希望对你有一定的参考价值。

SQL语句中 聚合函数count()忽略空值么?

SQL语句函数baicount(),如果括号中是列名称,是忽略空值NULL的,即返回列的值的数目,不包含NULL值。

COUNT函数,用于Excel中对给定数据集合或者单元格区域中数据的个数进行计数,其语法结构为COUNT(value1,value2, ...)。COUNT函数只能对数字数据进行统计,对于空单元格、逻辑值或者文本数据将被忽略,因此可以利用该函数来判断给定的单元格区域中是否包含空单元格。

扩展资料:

如果参数是一个数组或引用,那么只统计数组或引用中的数字;数组中或引用的空单元格、逻辑值、文字或错误值都将忽略。具体如下: 

如果参数为数字、日期或者代表数字的文本(例如,用引号引起的数字,如 "1"),则将被计算在内。

逻辑值和直接键入到参数列表中代表数字的文本被计算在内。

如果参数为错误值或不能转换为数字的文本,则不会被计算在内。

如果参数为数组或引用,则只计算数组或引用中数字的个数。不会计算数组或引用中的空单元格、逻辑值、文本或错误值。

参考技术A

SQL语句函数count(),如果括号中是列名称,是忽略空值NULL的,即返回列的值的数目,不包含NULL值。

一、SQL COUNT() 

语法1:SQL COUNT(column_name) 

函数返回指定列的值的数目(NULL 不计入)。

SELECT COUNT(column_name) FROM table_name

语法2:SQL COUNT(*) 

函数返回表中的记录数:

SELECT COUNT(*) FROM table_name

语法3:SQL COUNT(DISTINCT column_name) 

函数返回指定列的不同值的数目:

SELECT COUNT(DISTINCT column_name) FROM table_name

二、实例演示:

1、实例表格:aaa

2、统计表格总记录数count(*),列C的值数量count(c),列d的值数量count(d)

select count(*),count(c),count(d) from aaa

从结果可以看出,D列有两个空值,所以返回的是1,也就是忽略了NULL值。

参考技术B 忽略,count(字段名) ,如果字段名有null值,不算。
count(1)或count(*),就不会忽略了
参考技术C SUM、AVG、COUNT、MAX 和MIN 忽略空值,而COUNT(*) 不忽略. 参考技术D count()忽略空值
recordcount 不忽略

SQL Server的各种聚合函数

聚合函数是对一组值执行计算并返回单一的值的函数,它经常与SELECT语句的GROUP BY子句一同使用,SQL SERVER 中具体有哪些聚合函数呢?我们来一一看一下: 1. AVG 返回指定组中的平均值,空值被忽略。 例:select prd_no,avg(qty) from sales group by prd_no
2. COUNT 返回指定组中项目的数量。 例:select count(prd_no) from sales
3. MAX 返回指定数据的最大值。 例:select prd_no,max(qty) from sales group by prd_no
4. MIN 返回指定数据的最小值。 例:select prd_no,min(qty) from sales group by prd_no
5. SUM 返回指定数据的和,只能用于数字列,空值被忽略。 例:select prd_no,sum(qty) from sales group by prd_no
6. COUNT_BIG 返回指定组中的项目数量,与COUNT函数不同的是COUNT_BIG返回bigint值,而COUNT返回的是int值。 例:select count_big(prd_no) from sales
7. GROUPING 产生一个附加的列,当用CUBE或ROLLUP运算符添加行时,输出值为1.当所添加的行不是由CUBE或ROLLUP产生时,输出值为0. 例:select prd_no,sum(qty),grouping(prd_no) from sales group by prd_no with rollup
8. BINARY_CHECKSUM 返回对表中的行或表达式列表计算的二进制校验值,用于检测表中行的更改。 例:select prd_no,binary_checksum(qty) from sales group by prd_no
9. CHECKSUM_AGG 返回指定数据的校验值,空值被忽略。 例:select prd_no,checksum_agg(binary_checksum(*)) from sales group by prd_no
10. CHECKSUM 返回在表的行上或在表达式列表上计算的校验值,用于生成哈希索引。
11. STDEV 返回给定表达式中所有值的统计标准偏差。 例:select stdev(prd_no) from sales
12. STDEVP 返回给定表达式中的所有值的填充统计标准偏差。 例:select stdevp(prd_no) from sales
13. VAR 返回给定表达式中所有值的统计方差。 例:select var(prd_no) from sales
14. VARP 返回给定表达式中所有值的填充的统计方差。 例:select varp(prd_no) from sales

以上是关于SQL语句中 聚合函数count()忽略空值么?的主要内容,如果未能解决你的问题,请参考以下文章

SqlServer函数的聚合函数

sql server中啥是聚合函数

SQL Server聚合函数

SQL Server的各种聚合函数

SQL中只要用到聚合函数就一定要用到group by 吗?

SQL Server聚合函数与聚合开窗函数