oracle 11g-关于Oracl语句分组问题

问题描述

关于Oracl语句分组问题
select loc max(deptno) from dept group by loc order by deptno语句报错
既然max是分组函数,为什么不能对deptno进行排序呢。

解决方案

select loc max(deptno) as deptno from dept group by loc order by deptno 这样就可以了

解决方案二:
同时有group by和order by那order by 的字段必须在group by 或者select 中出现的字段中

时间: 2024-12-28 02:06:53

oracle 11g-关于Oracl语句分组问题的相关文章

In Oracle 11g, how to change the order of the results of a sql without “order by”?(转)

oracle 11g 当sql语句中不加order by的时候,好像是按rowid的顺序返回结果的.我也看过一些相关的文档,oracle的官方意思就是不加order by,就不保证输出的顺序. 那么,问题来了:如果现在我select XXX,一组结果出来,顺序是.......A....B.....那么接下来我做什么操作,再做同样一句select,怎么才能让结果变成....B...A.....Notice1: 操作中请勿修改表的主键,不要用DDL,只用select * from A;得到结果Not

如何解决Oracle 11G R2 用exp无法导出空表的问题

Oracle 11G在用EXPORT导出时,空表不能导11G R2中有个新特性,当表无数据时,不分配segment,以节省空间 解决方法: insert一行,再rollback就产生segment了.该方法是在在空表中插入数据,再删除,则产生segment.导出时则可导出空表. 设置deferred_segment_creation 参数 ,该参数值默认是TRUE,当改为FALSE时,无论是空表还是非空表,都分配segment.修改SQL语句: alter system set deferred

Oracle 11G的EXPORT导出

Oracle 11G在用EXPORT导出时,空表不能导11G R2中有个新特性,当表无数据时,不分配segment,以节省空间 解决方法:insert一行,再rollback就产生segment了.该方法是在在空表中插入数据,再删除,则产生segment.导出时则可导出空表. 设置deferred_segment_creation 参数 ,该参数值默认是TRUE,当改为FALSE时,无论是空表还是非空表,都分配segment.修改SQL语句: alter system set deferred_

Oracle 11g的新特性

Oracle 11g于2007年7月11日美国东部时间11时(北京时间11日22时)正式发布,11g是甲骨文公司30年来发布的最重要的数据库版本,根据用户的需求实现了信息生命周期管理(Information Lifecycle Management)等多项创新. 一.新特性提纲 1.数据库管理部分 ◆数据库重演(Database Replay) 这一特性可以捕捉整个数据的负载,并且传递到一个从备份或者standby数据库中创建的测试数据库上,然后重演负责以测试系统调优后的效果. ◆SQL重演(S

Oracle 11g的CLIENTID_OVERWRITE事件

在Oracle 11g中新增了CLIENTID_OVERWRITE事件,使得执行DBMS_APPLICATION_INFO包的SET_CLIENT_INFO信息后,V$SESSION可以自动反应设置结果. 默认情况下,设置了SET_CLIENT_INFO过程后,还要执行DBMS_SESSION的SET_IDENTIFIER过程,才能使得V$SESSION反映设置后的结果: SQL> SELECT * FROM V$VERSION; BANNER -------------------------

Oracle 11g安装成功后在linux创建chkconfig自启动设置

本文参照了网上不同版本的资料,然后自己分别在cent0S6.3的x86与x64两个虚拟环境均搭建完成,安装的分别是与系统对应的ORACLE 11Gx86与x64两个版本,基本能满足Oracle服务开机启动需求. 但有几个小问题,能力有限: 1.启动或关闭服务报有此提示,但不影响服务启动,端口能正常打开,ORACLE远程也能连接. [root@orcl ~]# service oracle restart Shutdown Oracle: Environment variable ORACLE_U

ORACLE 11g在Linux下手工配置EM

使用OTK工具安装的Oracle默认没有配置EM,下面记录下配置和启动过程! 首先创建EM,执行下面 的命令 $ emca -config dbcontrol db -repos recreate 我第一次运行报如下错误: Mar 31, 2012 4:16:06 PM oracle.sysman.emcp.EMReposConfig createRepository CONFIG: ORA-00604: error occurred at recursive SQL level 1 ORA-0

《Oracle达人修炼秘籍:Oracle 11g数据库管理与开发指南 》一2.2 Oracle的网格计算

2.2 Oracle的网格计算 网格计算是指把分布在世界各地的计算机连接在一起,并且将各地的计算机资源通过高速的互联网组成充分共享的资源集成,通过合理调度,不同的计算环境被综合利用并共享. 目前,各种企业.组织内部的计算孤岛使资源利用率非常低,系统运行缓慢且维护管理费用昂贵.网格计算正好提供了一个解决方案,将企业的有限资源整合起来构成一个资源池,提高了资源利用率,降低了管理成本与运营成本,并能按照企业的优先级动态调整分配资源. Oracle 11g是一个基于网格计算的产品,其网格基础架构由Ora

oracle 11g数据库中SPA使用例子介绍

oracle 11g推出了新特性SPA(SQL performance Analyze)现在已经被广泛应用到升级和迁移的场景中,当然比如一些其他的场景也可以考虑使用,比如(优化器参数修改.IO子系统变更等),这种功能可向DBA 提供有关SQL语句性能的详细信息,例如,执行前后的统计信息,提高或降低性能的语句,主要用于衡量环境变化后SQL执行性能是否出现衰变等. SPA的主要实施步骤如下: 1 在源环境捕捉SQL负载,生成SQLSET exec dbms_sqltune.create_sqlset