oracle嵌套函数的使用方法,sql聚合函数嵌套问题

sql聚合函数嵌套问题

我现在要查的是top client(买东西总和加起来最多的)

所以我输了 SELECT C.CLIENTNO, C.CNAME, MAX(SUM(P.AMOUNT))

FROM CLIENT C,PURCHASE P

WHERE C.CLIENTNO=P.CLIENTNO

GROUP BY C.CLIENTNO,C.CNAME;

提示说不是单组分组函数,所以 问题应该是出在 max(sum(p.amount))上吧,应该如何分开来写啊

with t as

(SELECT job, deptno, sum(sal) sal FROM emp group by job, deptno)

select * from t where sal = (select max(sal) from t)

SELECT  CLIENTNO,CNAME,MAX_VALUE

FROM

(SELECT C.CLIENTNO, C.CNAME, SUM(P.AMOUNT) MAX_VALUE

FROM CLIENT C,PURCHASE P

WHERE C.CLIENTNO=P.CLIENTNO

GROUP BY C.CLIENTNO,C.CNAME) TT1

WHERE TT1.MAX_VALUE

IN

(SELECT  MAX(MAX_VALUE)

FROM

(SELECT C.CLIENTNO, C.CNAME, SUM(P.AMOUNT) MAX_VALUE

FROM CLIENT C,PURCHASE P

WHERE C.CLIENTNO=P.CLIENTNO

GROUP BY C.CLIENTNO,C.CNAME) TT);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值