oracle9i中用group by之后,会自动排序。
oracle10g中如果不设置优化器,用group by后不会自动排序。想请教下,如果用oracle9i,例如:
select a,b,c from table
group by a,b,c;
它会隐含包含一个order by a,b,c?还是隐含包含一个order by a?因为我看到有人说9i中会按照group by后的第一列进行排序,如果group by有多列,那仅按照第一列排序还是依次按照多列排序呢?谢谢!
oracle10g中如果不设置优化器,用group by后不会自动排序。想请教下,如果用oracle9i,例如:
select a,b,c from table
group by a,b,c;
它会隐含包含一个order by a,b,c?还是隐含包含一个order by a?因为我看到有人说9i中会按照group by后的第一列进行排序,如果group by有多列,那仅按照第一列排序还是依次按照多列排序呢?谢谢!
解决方案 »
- 动态select语句返回数据集
- oacle怎么更新表内一行数据?
- 请教一个SQL语句该如何写
- 求一存储过程
- 请求oracle数据库,怎样学习。
- 一段小代码请大家帮忙解释下
- 紧急救助!关于oracle数据库不能自动添加序列号问题!
- 请教一下个位高手,我用system/manager 或 sys/change_on_install启动数据库时会出现无法处理服务名的提示,在建完数据库后还需要其他设
- 请验证你输入manager server hostname的正确主机名和状态?
- 借圣诞快来之际,兄弟我小问题一个,在线等
- 请教问题,error信息为:ora-04502,ora-00604,ora-03232,ora-02063
- oracle sql 報表匯總的問題
测试了下,GROUP BY A,B,C 相当于
GROUP BY A,B,C
ORDER BY ABC
10g做了改变。不要期望用group by 的输出是排序的,Oracle不保证这一点。用order by才会保证。
如果期望在10中group by 与9i一样的行为,将隐含参数"_gby_hash_aggregation_enabled"设置为FALSE
在10g 10.2.1版本中测试隐含参数,并不能生效;
在11g 11.1.0.6.0 版本中测试隐含参数,能生效;