读书人

select sum(1) from dual where 1=2为

发布时间: 2013-01-25 15:55:29 作者: rapoo

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,如果没有找到,那是不返回的

读书人网 >oracle

热点推荐