是distinct还是order by的问题,还是什么问题

解决方案 »

  1.   

    SQL> select distinct empno  from emp order by deptno ;
     
    select distinct empno  from emp order by deptno
     
    ORA-01791: not a SELECTed expression
     
      

  2.   

    select distinct empno from emp order by emp;
      

  3.   

    select distinct * from emp order by deptno
      

  4.   

    select distinct empno from emp order by empno;打错字了
      

  5.   

     select empno from emp group by empno order by max(deptno)
      

  6.   


    如果指定了 SELECT DISTINCT,那么 ORDER BY 子句中的项就必须出现在选择列表中。
      

  7.   

    select distinct deptno,empno from emp order by deptno;可以这样!
      

  8.   


    老打错!select distinct deptno,empno from emp order by deptno,empno;
      

  9.   

    DISTINCT的步骤中包含聚合和排序,ORDER BY的执行顺序是在聚合后,所以未聚合的列作为排序时会报错。