所以我输了 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))上吧,应该如何分开来写啊
...全文
6288打赏收藏
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))上吧,应该如何分开来写啊
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);
我打了 with t as (select c.clientno,c.cname,sum(p.amount) p.amount
from c.client c,purchase p
WHERE C.CLIENTNO=P.CLIENTNO
GROUP BY C.CLIENTNO,C.CNAME)
select* from t where p.amount=(select max(p.a,ount) from t)
不对啊,说未找到要求的from 关键字