需要SQL查询方面的帮助吗
以下是相关表格:需要SQL查询方面的帮助吗,sql,oracle,Sql,Oracle,以下是相关表格: movie ( mvnumb int, mvtitle char(100), yrmde int, mvtype char(9), crit int, mpaa char(6), noms int, awrd int, dirnumb int ) director ( dirnumb int, dirname char(36), dirborn int,
movie
(
mvnumb int,
mvtitle char(100),
yrmde int,
mvtype char(9),
crit int,
mpaa char(6),
noms int,
awrd int,
dirnumb int
)
director
(
dirnumb int,
dirname char(36),
dirborn int,
dirdied int
)
我的目标是构造一个SQL查询,列出获得awrd最多奖项的导演的姓名。我好像没法让它工作。。。任何帮助都将不胜感激。。非常感谢。类似于此SQL Server的内容:
select top 1 d.dirname,sum(awrd) awrd
from director d
inner join movie m
on m.dirnumb=d.dirnumb
group by d.dirname
order by sum(awrd) desc
或者,在Oracle上:
select * from (
select d.dirname, sum(awrd) awards
from director d
inner join movie m
on m.dirnumb=d.dirnumb
group by d.dirname
order by sum(awrd) desc )
where rownum<2;
编辑:根据@pilcrow的建议,修改了Oracle查询。不太确定,它托管在我学校的网络上。我之前尝试过使用TOP 1,但结果总是:第1行错误:ORA-00923:FROM关键字未找到,第7行的expectedERROR:ORA-00935:group函数在使用上述oracle代码时嵌套太深。@编辑此项,请将ORA更改为选择d.dirname,Sumaward奖励。SUM列被别名为其源列这一事实按顺序混淆了。这是一个