1 概述
聚合函数在计算时会排除 null,如:count()、sum()、max()、min()、avg()
但 count(列) 例外
2 示例
with student_info as (
select 1 sno, 110 score from dual union all
select 2 sno, null score from dual union all
select 3 sno, 90 score from dual
)
select avg(si.score), -- (110 + 90) / 2 = 100
avg(coalesce(si.score, 0)) -- (110 + 90) / 3 = 66.67
from student_info si;
3 扩展
3.1 聚合函数排除 null
with student_info as (
select 1 sno, 110 score from dual union all
select 2 sno, null score from dual union all
select 3 sno, 90 score from dual
)
select sum(si.score), -- 200
max(si.score), -- 110
min(si.score) -- 90
from student_info si;
3.2 count(1)、count(*)、count(列) 区别
with student_info as (
select 1 sno, 110 score from dual union all
select 2 sno, null score from dual union all
select 3 sno, 90 score from dual
)
select count(1), -- 3
count(*), -- 3
count(si.score) -- 2
from student_info si;
原文地址:https://www.jb51.cc/wenti/3285639.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。