白日梦想jun 2016-05-25 16:12 采纳率: 100%
浏览 2254
已采纳

SQL 查询平均分最高的系(sdept)怎么写啊,谢谢

表结构是这样的:
stu(sno,sname,sdept,sage)
sc(sno,cno,grade)
cou(cno,cname)

  • 写回答

2条回答 默认 最新

  • 中国风 领域专家: 数据库技术领域 2016-05-25 16:47
    关注

    SELECT sdept ,
    AvgGrade
    FROM ( SELECT sdept ,
    AVG(grade) AS AvgGrade ,
    DENSE_RANK() OVER ( PARTITION BY sdept ORDER BY AVG(grade) ) AS RN
    FROM ( SELECT sdept ,
    sno ,
    SUM(grade) AS grade
    FROM stu AS a
    INNER JOIN sc AS b ON b.sno = a.sno
    GROUP BY sdept ,
    sno
    ) AS a
    GROUP BY sdept
    ) AS T
    WHERE RN = 1;

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?