oracle按非选列排序,如何选择和排序不在Groupy中的列按SQL语句 – Oracle

包含不属于GROUP BY子句的列是没有意义的.考虑一下SELECT子句中是否有MIN(X),MAX(Y),其他列(未分组)应该来自哪一行?

如果您的Oracle版本足够新,则可以使用SUM-OVER()来显示针对每个数据行的SUM(分组).

SELECT

IMPORTID,Site,Desk,Region,RefObligor,

SUM(NOTIONAL) OVER(PARTITION BY IMPORTID, Region,RefObligor) AS SUM_NOTIONAL

From

Positions

Where

ID = :importID

Order BY

IMPORTID,Region,Site,Desk,RefObligor

或者,您需要从Site,Desk列中进行聚合

SELECT

IMPORTID,Region,Min(Site) Site, Min(Desk) Desk,RefObligor,SUM(NOTIONAL) AS SUM_NOTIONAL

From

Positions

Where

ID = :importID

GROUP BY

IMPORTID, Region,RefObligor

Order BY

IMPORTID, Region,Min(Site),Min(Desk),RefObligor

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值