我正在使用 PostgreSQL 学习 SQL,并且遇到了有关嵌套聚合函数的问题。
我试图找到拥有最多财产的私人所有者的详细信息,其中我有两个关系,privateowner 和 propertyforrent,propertyforrent 有一个外键,ownwerno。
我怀疑我的问题是我试图嵌套聚合函数,但我看不到解决方法。
注意:- 我使用的数据库在 propertyforrent 中的属性 ownwerno 中有错字,它应该是 ownerno。
我尝试使用的代码如下所示~:-
SELECT o.fname, o.lname, telno
FROM privateowner o
WHERE o.ownerno = (SELECT p.ownwerno
FROM propertyforrent p
HAVING COUNT(p.ownwerno) = MAX(COUNT(o.ownerno)));
其伴随的错误如下:-
ERROR: column "p.ownwerno" must appear in the GROUP BY clause or be used in a
aggregate function
LINE 3: WHERE o.ownerno = (SELECT p.ownwerno
^
********** Error **********
ERROR: column "p.ownwerno" must appear in the GROUP BY clause or be used in an
aggregate function
SQL state: 42803
Character: 78
任何见解都会很棒。