chen7788 2011-05-30 16:59
浏览 220
已采纳

oracle 查询错误

[code="sql"]
SELECT E.DEPTNO, DNAME,MAX(DECODE(E.DEPTNO,10,AVG(SAL),20,AVG(SAL),30,AVG(SAL),AVG(SAL)))SAL
FROM EMP E, DEPT D
WHERE E.DEPTNO = D.DEPTNO(+) GROUP BY E.DEPTNO, DNAME, SAL
[/code]

ERROR 位于第 2 行:
ORA-00937: not a single-group group function

为什么还是报“非单组函数分组”这个错误?

  • 写回答

4条回答 默认 最新

  • iteye_8576 2011-05-31 14:39
    关注

    看这个满足你需求不
    [code="sql"]SELECT m.deptno,
    d.dname,
    m.sal
    FROM (SELECT t.deptno,
    AVG(sal) sal,
    RANK() over(ORDER BY AVG(sal) DESC) cnt
    FROM emp t
    GROUP BY t.deptno) m
    LEFT JOIN dept d ON m.deptno = d.deptno
    WHERE m.cnt = 1[/code]

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

报告相同问题?