首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

select sum(1) from dual where 1=2为什么会返回一条数据?该如何处理

2013-01-25 
select sum(1) from dual where 12为什么会返回一条数据?RT,搞不懂...在线等大神[解决办法]引用:为什么你

select sum(1) from dual where 1=2为什么会返回一条数据?
RT,搞不懂...在线等大神
[解决办法]

引用:
为什么你们都说聚合函数一定会返回一条记录呢,可是我加了个group by之后就真没记录了,是oracle版本问题么,我的是10g的



  首先 你要了解oracle的执行顺序  group by和聚合函数的先后顺序  LZ觉得对空值分组求和 还会有数据么 
[解决办法]
引用:
大概是这意思,我现在搞不懂的是select sum(1) from dual where 1=2 group by 1,为什么就不返回空记录了呢

引用:

因为类似的聚合函数 不管有没对应的值 至少都会返回一条记录

你现在的疑惑出现在group by身上
group by 是对from 、where等过滤出来的结果集进行聚合:
    1)不加group by是全部,就算找不到,对sum,count,min,max也会返回一行,是空值
    2)加了group by,如果没有找到,那是不返回的

热点排行