暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle 计数聚合函数和null

askTom 2017-04-21
429

问题描述

嗨,

我创建了一个名为Temp的表,其中插入了2个空行,所以现在总行数为8。
插入到临时值 (NULL,NULL);
当我执行SELECT COUNT(*) 从TEMP给出结果为8它也计数2空行,因为我的知识计数忽略空行,但在这种情况下,它认为空行。

你能解释一下怎么可能吗?

专家解答

否。Count() 查找非空行数。Count(*) 始终是查询返回的总行数,而与null无关:

with rws as (
  select rownum x from dual union all
  select null x from dual
)
  select count(*), count(x) from rws;

COUNT(*)  COUNT(X)  
2         1  
复制


我在此视频中进一步讨论:


「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论