MySQL 单选题:AVG、COUNT 函数详解及 NULL 值处理
MySQL 单选题:AVG、COUNT 函数详解及 NULL 值处理
题目:
假设有一张名为 't1' 的表,内容如下:
mysql> select * from t1;
c1
5,
NULL,
5,
NULL,
5
请给出以下 SQL 语句的结果:
mysql> select avg(c1) as avg_num from t1;
mysql> select count(*) from t1;
mysql> select count(c1) from t1;
答案:
mysql> select avg(c1) as avg_num from t1;
结果为:avg_num 为 5.0000
mysql> select count(*) from t1;
结果为:5
mysql> select count(c1) from t1;
结果为:3 (因为 NULL 和 NUL 不会被计算在内)
解释:
- AVG 函数 用于计算指定列的平均值。在该案例中,
avg(c1)会将所有非 NULL 值的 c1 列数据进行求平均,得出结果 5.0000。 - COUNT(*) 函数 用于统计表中的总行数,不受 NULL 值的影响。因此,结果为 5,代表表 't1' 中有 5 行数据。
- COUNT(列名) 函数 用于统计指定列的非 NULL 值数量。由于表 't1' 中 c1 列存在 2 个 NULL 值,因此结果为 3。
总结:
- AVG 函数会忽略 NULL 值,计算非 NULL 值的平均值。
- COUNT(*) 函数统计所有行数,包括 NULL 值。
- COUNT(列名) 函数只统计该列的非 NULL 值数量。
希望本篇博客能够帮助你更好地理解 MySQL 中 AVG 和 COUNT 函数的用法,以及 NULL 值对数据统计的影响。
原文地址: https://www.cveoy.top/t/topic/lDI8 著作权归作者所有。请勿转载和采集!