楼主: dhcwenOra

group by 不会排序了吗

[复制链接]
论坛徽章:
194
红宝石
日期:2014-05-09 08:24:37萤石
日期:2014-01-03 10:25:39奥运会纪念徽章:羽毛球
日期:2008-07-01 10:46:06奥运会纪念徽章:马术
日期:2008-07-07 17:43:24奥运会纪念徽章:射箭
日期:2008-07-25 18:07:39奥运会纪念徽章:皮划艇激流回旋
日期:2008-07-30 10:02:57奥运会纪念徽章:花样游泳
日期:2008-09-26 13:02:43奥运会纪念徽章:排球
日期:2008-12-03 11:23:272010新春纪念徽章
日期:2010-01-04 08:33:082010年世界杯参赛球队:澳大利亚
日期:2010-02-26 11:08:44
11#
发表于 2008-3-26 14:37 | 只看该作者
group by 本来就不排序。

使用道具 举报

回复
论坛徽章:
194
红宝石
日期:2014-05-09 08:24:37萤石
日期:2014-01-03 10:25:39奥运会纪念徽章:羽毛球
日期:2008-07-01 10:46:06奥运会纪念徽章:马术
日期:2008-07-07 17:43:24奥运会纪念徽章:射箭
日期:2008-07-25 18:07:39奥运会纪念徽章:皮划艇激流回旋
日期:2008-07-30 10:02:57奥运会纪念徽章:花样游泳
日期:2008-09-26 13:02:43奥运会纪念徽章:排球
日期:2008-12-03 11:23:272010新春纪念徽章
日期:2010-01-04 08:33:082010年世界杯参赛球队:澳大利亚
日期:2010-02-26 11:08:44
12#
发表于 2008-3-26 14:47 | 只看该作者
这个是来自基于成本优化的例子,如图:

snap1.jpg (59.05 KB, 下载次数: 8)

snap1.jpg

gby_onekey.sql

4.33 KB, 下载次数: 0

使用道具 举报

回复
论坛徽章:
194
红宝石
日期:2014-05-09 08:24:37萤石
日期:2014-01-03 10:25:39奥运会纪念徽章:羽毛球
日期:2008-07-01 10:46:06奥运会纪念徽章:马术
日期:2008-07-07 17:43:24奥运会纪念徽章:射箭
日期:2008-07-25 18:07:39奥运会纪念徽章:皮划艇激流回旋
日期:2008-07-30 10:02:57奥运会纪念徽章:花样游泳
日期:2008-09-26 13:02:43奥运会纪念徽章:排球
日期:2008-12-03 11:23:272010新春纪念徽章
日期:2010-01-04 08:33:082010年世界杯参赛球队:澳大利亚
日期:2010-02-26 11:08:44
13#
发表于 2008-3-26 14:48 | 只看该作者
我使用的是10g,好像是hash group by。

使用道具 举报

回复
论坛徽章:
122
现任管理团队成员
日期:2011-05-07 01:45:08
14#
发表于 2008-3-26 14:56 | 只看该作者
9i 好象group by后的结果是排序的~
QL> select sid from testg;

       SID
----------
        13
        14
        16
         2
         3
         4
         5
         6
         7
         8
         9
        13
        14
        16

14 rows selected

SQL> select count(*) ,sid from testg group by sid;

  COUNT(*)        SID
---------- ----------
         1          2
         1          3
         1          4
         1          5
         1          6
         1          7
         1          8
         1          9
         2         13
         2         14
         2         16

11 rows selected

使用道具 举报

回复
论坛徽章:
7
授权会员
日期:2010-12-06 19:50:26数据库板块每日发贴之星
日期:2011-09-03 01:01:01迷宫蛋
日期:2011-09-08 16:30:08ITPUB十周年纪念徽章
日期:2011-11-01 16:24:04玉石琵琶
日期:2012-02-21 15:04:38最佳人气徽章
日期:2012-03-13 17:39:18
15#
发表于 2008-3-26 14:59 | 只看该作者
一般是排序的,但oracle不保证一定排序。所以,最好加上order by

使用道具 举报

回复
论坛徽章:
122
现任管理团队成员
日期:2011-05-07 01:45:08
16#
发表于 2008-3-26 15:01 | 只看该作者
SQL> explain plan for
  2  select count(*) ,sid from testg group by sid;

Explained

Executed in 0 seconds

SQL> select * from table(dbms_xplan.display);

PLAN_TABLE_OUTPUT
--------------------------------------------------------------------------------
--------------------------------------------------------------------
| Id  | Operation            |  Name       | Rows  | Bytes | Cost  |
--------------------------------------------------------------------
|   0 | SELECT STATEMENT     |             |       |       |       |
|   1 |  SORT GROUP BY       |             |       |       |       |
|   2 |   TABLE ACCESS FULL  | TESTG       |       |       |       |
--------------------------------------------------------------------
Note: rule based optimization

10 rows selected

Executed in 0.156 seconds

使用道具 举报

回复
论坛徽章:
24
授权会员
日期:2006-12-23 13:14:362008新春纪念徽章
日期:2008-02-13 12:43:03数据库板块每日发贴之星
日期:2008-02-16 01:05:15ITPUB元老
日期:2008-02-19 22:12:27行业板块每日发贴之星
日期:2008-02-29 01:06:00开发板块每日发贴之星
日期:2008-03-03 01:05:35ITPUB十周年纪念徽章
日期:2011-11-01 16:19:41紫蛋头
日期:2012-11-28 16:41:42
17#
发表于 2008-3-26 15:02 | 只看该作者
学习下~~~

使用道具 举报

回复
论坛徽章:
194
红宝石
日期:2014-05-09 08:24:37萤石
日期:2014-01-03 10:25:39奥运会纪念徽章:羽毛球
日期:2008-07-01 10:46:06奥运会纪念徽章:马术
日期:2008-07-07 17:43:24奥运会纪念徽章:射箭
日期:2008-07-25 18:07:39奥运会纪念徽章:皮划艇激流回旋
日期:2008-07-30 10:02:57奥运会纪念徽章:花样游泳
日期:2008-09-26 13:02:43奥运会纪念徽章:排球
日期:2008-12-03 11:23:272010新春纪念徽章
日期:2010-01-04 08:33:082010年世界杯参赛球队:澳大利亚
日期:2010-02-26 11:08:44
18#
发表于 2008-3-26 15:11 | 只看该作者
10g下,看看了执行计划,如下,是hash group by,这样是不排序的,
按照道理会快一些。

snap1.jpg (115.99 KB, 下载次数: 8)

snap1.jpg

使用道具 举报

回复
论坛徽章:
1
参与2009年中国云计算大会纪念
日期:2009-06-05 10:02:28
19#
发表于 2008-3-26 17:31 | 只看该作者
GROUP BY 不自动排序

使用道具 举报

回复
论坛徽章:
43
现任管理团队成员
日期:2011-05-07 01:45:08ITPUB元老
日期:2012-09-12 14:50:28版主5段
日期:2014-06-11 02:21:31阿斯顿马丁
日期:2013-11-19 10:38:16祖母绿
日期:2012-11-06 12:43:12路虎
日期:2013-11-20 11:37:53雪佛兰
日期:2013-09-05 13:28:25ITPUB9周年纪念徽章
日期:2010-10-08 09:28:512015中国数据库技术大会纪念徽章
日期:2015-04-24 16:04:24秀才
日期:2015-05-26 13:32:07
20#
发表于 2008-3-26 17:40 | 只看该作者
自动排序影响性能,用户可能只要求分组,不要求排序

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表