20100720_Oracle应用之order by 之殇

    今天下午的主要任务就是让某几个report报表的某个字段里的结果按照另外模块自定义的方式排序。为解决这个问题,相应的数据库的表里有了一个sortorder字段,乍一看去,问题似乎简单得很:在sql语句里面加上一个order by tacticmarket.sortorder asc不就结了。

    事实却是这个问题足足用了2个半小时才算解决,现在仍有一些地方需要慢慢明确。

     

pl/sql源代码如上所示。首先在order by后面添加一个tm.sortorder,运行时报错,group by is not a statement...

后来一想,果然不行,group by后面的项自然需要在select语句里面选择出来,否则选择何益?

可是随便添加一个选择变量会带来什么变故这个真不好说,对于可能会影响其余部分的少动为妙。

于是我就开始在这个rollup上下功夫了,这里兴许有门,于是我就尝试了一下,在rollup后面加了这样一句

rollup(tm.id,tm.sortorder),然后运行一下...居然可行了。

于是我就再次陷入纠结了,这是为什么呢?rollup看起来不该这么神奇的?然后又在网上搜了大半天,依旧不知所以然

这个明天再请教高手吧

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值