有个语句如下
select deptno,max(sal)
from emp
group by deptno;
这个语句报错
原因是没有单行组函数 
什么意思? 是不是因为 MAX()函数只能拿到一个数,但是deptno里可能有多个相同并且最大?
我想知道如何 即显示deptno又显示MAX()字段??

解决方案 »

  1.   


    在group by 里面,统计的函数只能是分组的字段。
    select deptno,max(sal)
    from emp
    group by deptno,sal;
      

  2.   


    你的sal字段不在group by字段,当然报错了啊!
      

  3.   

    select max(sal)
    from emp
    group by deptno;
    这样为什么可以??
      

  4.   


    因为sal不是分组后面的字段啊
    select max(sal) 
    from emp 
    group by sal; 就可以了 !
      

  5.   

    select deptno,max(sal)
    from emp
    group by deptno;这个可以运行呀!
    我在我的机子上试了。