Sql oracle中的单组函数错误
此查询在oracle中不起作用。它显示Sql oracle中的单组函数错误,sql,oracle,Sql,Oracle,此查询在oracle中不起作用。它显示单组功能错误。您是否可以通过尝试获得比结果更多的结果并错过一个组 SELECT name FROM instructor natural join teaches WHERE course_id = (SELECT course_id FROM (SELECT course_id, MAX(mycount) FROM (SELECT course_id, count(I
单组功能
错误。您是否可以通过尝试获得比结果更多的结果并错过一个组
SELECT name
FROM instructor natural join teaches
WHERE course_id = (SELECT course_id
FROM (SELECT course_id, MAX(mycount)
FROM (SELECT course_id, count(ID) as mycount
FROM takes GROUP BY course_id)));
你错过了一组人。:)
而且,外部子查询实际上不会做任何事情。每个课程ID已经有一行,因此最大值(mycount)将与mycount完全相同。l第二级子查询中出现错误:
SELECT name FROM instructor
natural join teaches
WHERE course_id =
(SELECT course_id FROM
(SELECT course_id, MAX(mycount) FROM
(SELECT course_id, count(ID) as mycount FROM takes GROUP BY course_id)
group by course_ID) -- don't forget this one!
);
您有一个聚合函数,但没有分组依据
我还建议您避免自然加入。这只是一个等待发生的错误。隐藏用于连接的键是一件坏事,这会使查询更难理解,更容易出错
然后,你的问题很难理解。我建议你问另一个问题,提供样本数据和期望的结果。可能有一种更简单的方式来表达这一点。请最好告诉我您想要获得什么,并公布您的表格。此查询的质量非常高。可能与的重复
SELECT name FROM instructor
natural join teaches
WHERE course_id =
(SELECT course_id FROM
(SELECT course_id, MAX(mycount) FROM
(SELECT course_id, count(ID) as mycount FROM takes GROUP BY course_id)
group by course_ID) -- don't forget this one!
);
(SELECT course_id, MAX(mycount)
FROM (SELECT course_id, count(ID) as mycount
FROM takes
GROUP BY course_id)
)