SQL:带有 NULL 值的 AVG

标签 sql oracle null average

据我了解, AVG() 函数会忽略 NULL 值。
所以 AVG(4,4,4,4,4,NULL) --> 4
就我而言,我不希望这种情况发生。
我需要这样的解决方案: AVG(4,4,4,4,4,NULL) --> 3,33
无需直接替换表本身中的 NULL 值。
有没有办法做到这一点?

最佳答案

使用 coalesce()为空列返回零的实际值:

select avg(coalesce(some_column, 0))
from ...

关于SQL:带有 NULL 值的 AVG,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22220449/

相关文章:

php - 给定日期的 SQL 查询日期时间

sql - Oracle sql 中的 NVL 与 CAST?

java - 如何避免与 file.getParentFile() 进行 null 比较?

javascript - 为什么我的元素为空?

sql - 根据一列的值更新另一列的值

mysql - 获取多个列的唯一值或不同值

带有整理 nocase 字段的 SQLite 区分大小写的搜索

sql - Oracle SQL - 根据以前的记录填充列并将没有以前数据的记录保留为 NULL

javascript - 如何通过执行 JavaScript 代码添加将重定向到另一个页面的动态操作?

swift - NSData(contentsOfURL : url) always returning nil