oracle group by升序,group by 不一定排序
如题,以前,每次人家问我sql执行的时候在什么情况下会出现排序。我的答案中都会含有group by 子句,后来我发现我错了。
下边是一个用到group by子句但没有排序的例子。
SQL> set autot on
SQL> select * from (select min(rownum) from dual where rownum < 10 group by rownum);
MIN(ROWNUM)
-----------
1
Execution Plan
----------------------------------------------------------
Plan hash value: 3333817076
------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | 13 | 2 (0)| 00:00:01 |
| 1 | VIEW | | 1 | 13 | 2 (0)| 00:00:01 |
| 2 | SORT GROUP BY NOSORT| | 1 | | 2 (0)| 00:00:01 |
|* 3 | COUNT STOPKEY | | | | | |
| 4 | FAST DUAL | | 1 | | 2 (0)| 00:00:01 |
------------------------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
3 - filter(ROWNUM<10)
Statistics
----------------------------------------------------------
0 recursive calls
0 db block gets
0 consistent gets
0 physical reads
0 redo size
529 bytes sent via SQL*Net to client
523 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
1 rows processed
在执行计划中的 SORT GROUP BY NOSORT 可以看出没有排序。
其实,在这里oracle在执行到group by子句时,发现该处已经是排好序的,故其不在进行sort操作。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26143577/viewspace-750073/,如需转载,请注明出处,否则将追究法律责任。
oracle group by升序,group by 不一定排序相关推荐
- R语言dplyr包使用arrange函数、group_by函数、mutate函数生成分组数据的排名(rank)实战(Rank Variable by Group):升序排名、降序排名以及相同排名的处理
R语言dplyr包使用arrange函数.group_by函数.mutate函数生成分组数据的排名(rank)实战(Rank Variables by Group):升序排名.降序排名以及相同排名的处 ...
- oracle分组聚合查询,Oracle中分组查询group by用法规则解析
本篇文章小编给大家分享一下Oracle中分组查询group by用法规则解析,文章介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看. Oracle中group by ...
- oracle的 listagg() WITHIN GROUP () 函数使用
oracle的 listagg() WITHIN GROUP () 函数使用 使用条件:数据统计行转列 – 查询部门为20的员工列表[显然是多列显示] SELECT t.DEPTNO,t.ENAME ...
- mysql按年月排序group by升序_排序-在MySQL中按GROUP BY名称之前的日期和时间排序
排序-在MySQL中按GROUP BY名称之前的日期和时间排序 我有这样一张桌子: name date time tom | 2011-07-04 | 01:09:52 tom | 2011-07-0 ...
- oracle 创建 temporary tablespace group
os: centos 7.4 db: oracle 12.1.0.2 oracle 可以对多个 temporary tablespace 包装成 temporary group temporary s ...
- Oracle→分组函数、GROUP BY、HAVING、多表查询、连接、外连接、自连接、子查询单行多行、ROWNUM、ANY、ALL、NOT IN(...IS NOT NULL)、条件求和、DUAL
分组函数 GROUP BY HAVING GROUP BY ROLLUP() 多表查询 等值连接 不等值连接 外连接 自连接 层次查询 子查询 子查询伪劣ROWNUM ROWID NOT IN(-IS ...
- mysql group by top_Mysql group by top N的问题 | 学步园
>>>>> 建表 create table mytable ( person varchar(10), `group` int, age int ); insert in ...
- BZOJ 1821: [JSOI2010]Group 部落划分 Group【MST】
1821: [JSOI2010]Group 部落划分 Group Time Limit: 10 Sec Memory Limit: 64 MB Description 聪聪研究发现,荒岛野人总是过着群 ...
- mysql group原理_MySQL Group By 实现原理分析
[IT168 专稿]由于 GROUP BY 实际上也同样会进行排序操作,而且与 ORDER BY 相比,GROUP BY 主要只是多了排序之后的分组操作.当然,如果在分组的时候还使用了其他的一些聚合函 ...
最新文章
- 1102 Invert a Binary Tree 需再做
- 《包青天》中的《鸳鸯蝴蝶梦》单元,剧中有一个很漂亮的女子叫“离垢”
- 周末话题-元编程(metaprogramming)
- PHP中的foreach循环
- CentOS配置Tair
- mysql的安装真不爽
- cypress 的错误消息 - the element has become detached or removed from the dom
- STS+Git 项目操作相关
- pythonfor循环加2_python中for循环如何实现每次控制变量翻倍
- python PEP 487
- 【语音去噪】基于matlab基本维纳滤波算法语音去噪【含Matlab源码 570期】
- SAI钢笔工具如何使用,入门篇
- 摄影欣赏:30幅五光十色的精美秋天风景摄影作品
- android 编译
- 不需要到健身房的互动健身,so cool
- PHP借用Redis消息队列实现高并发下发送邮件功能
- 要做单片机课课设的快看过来1:KEIL安装以及C51环境搭建和Protues安装保姆教程
- ae 创建图像等高线 蒙版_「PS软件」工具使用,图层蒙版与橡皮擦的应用分析
- f下行到什么形成全音_乐理试题二
- 蓝牙资讯|2022 年 Q4 全球 TWS 耳机出货量 7900 万部
热门文章
- 微型计算机有缺点,PT开口安装微机消谐的优缺点?
- hbase shell查询表中某字段不为空的数据量_HBase工作原理
- Java数据结构与算法解析(二)——栈
- linux基础练习,Linux基础指令练习
- oracle怎么变为整数,如何在Oracle 11g SQL中为char添加整数?(How to add integers to char in Oracle 11g SQL?)...
- 基于JAVA+Servlet+JSP+MYSQL的实验室机房预约管理系统
- 基于JAVA+SpringMVC+Mybatis+MYSQL的手表销售系统
- 基于JAVA+Servlet+JSP+MYSQL的客户充值缴费管理系统
- 剑指offer:二叉树打印成多行(层次遍历)
- python用%来处理字符串