请教一个SQL排序的问题,特急!!!

雨男Mohican 2005-10-28 11:13:43
SQL文如下:
select
TRIM(SUBSTRB(TO_CHAR(T1.A_SUM,'999999999999990.000000000'),1,16)),
TO_CHAR(T1.B_SUM),
TO_CHAR(T1.COUNT_GROUP),
TO_CHAR(T2.COUNT_E),
D_MAX,
T1.F_MAX,
T1.C,
T1.E,
TRIM(SUBSTRB(TO_CHAR(T1.A_SUM,'999999999999990.000000000'),17))
from
(SELECT SUM(A) AS A_SUM,SUM(B) AS B_SUM,COUNT(C) AS COUNT_GROUP,MAX(D) AS D_MAX,TO_CHAR(MAX(F),'YYYYMMDD') AS F_MAX,C,E FROM TABLE1 WHERE G = '1' GROUP BY E,C ORDER BY E,C) T1,
(SELECT E,COUNT(E) AS COUNT_E FROM TABLE1 WHERE G = '1' GROUP BY E ORDER BY E) T2
where
T1.E = T2.E

执行这个SQL,得出的结果集肯定会是按照子查询T1的顺序排序吗?
会不会出现异常情况?原因是什么?
我自己执行的时候,出现过排序错误的情况。
...全文
120 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
雨男Mohican 2005-10-28
  • 打赏
  • 举报
回复
我说的异常是指取得结果的顺序不正确。不是按照子查询T1的顺序排序
yearlist 2005-10-28
  • 打赏
  • 举报
回复
1.不一定
2.什么异常?如果SQL正确,不会报错。

你如果想排序,只要在最外层where后加上order by 就行了
doulikeme 2005-10-28
  • 打赏
  • 举报
回复
不一定的,和oracle取数据的方式有关系 要排序在外层加order by
leborety 2005-10-28
  • 打赏
  • 举报
回复
拿到外面,
现在的,不排序

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧