我现在有一张表:EMPLO     SALARY
----- ----------
1           2000
2           2000
1           4000
1           4000
2           3000
2           4000
2           5000
1           3000我想要按EMPLO分组,每组中按SALARY降序排列:结果是:EMPLO     SALARY
----- ----------
1           4000
1           4000
1           3000
1           2000
2           5000
2           4000
2           3000
2           2000听说over (partition by employerid order by salary desc nulls last)可以实现这样的功能,请写出SQL语句。

解决方案 »

  1.   

    Select * from Table
    Order by EMPLO asc,Salary Desc
      

  2.   

    select * from Table order by EMPLO asc,Salary desc
      

  3.   

    Select * from temptable order by EMPLO,Salary Desc
      

  4.   

    Select * from temptable order by EMPLO,Salary Desc
      

  5.   

    Select * from temptable order by EMPLO,Salary Desc我是来接点分的,都被楼上说完了
      

  6.   

    呵呵,200分
    select * from table order by f1 ,f2 desc
    应该可以满足要求吧
      

  7.   

    select * from table order by EMPLO ASC ,SALARY
      

  8.   

    select emplo, salary, row_number over( partition by emplo order by salary desc) as seq from table;其中seq为每个人在他所在的部门的薪酬排名
      

  9.   

    select * from Table order by EMPLO asc,Salary desc
      

  10.   

    蹭点分 ^_^access 是不是不支持group by??
      

  11.   

    呵呵,
    SELECT * FROM Table ORDER BY EMPLO ASC,SALARY DESC
      

  12.   


    各位老大,请看清楚题目:Select * from temptable order by EMPLO,Salary Desc这种方法我当然会用,我的要求是,如何利用over (partition by employerid order by salary desc nulls last)来实现。我现在在学习 over (partition by order by)的用法,请写出使用over (partition by order by) 来实现我的要求的SQL语句。
      

  13.   

    各位老大,请看清楚题目:Select * from temptable order by EMPLO,Salary Desc这种方法我当然会用,我的要求是,如何利用over (partition by employerid order by salary desc nulls last)来实现。我现在在学习 over (partition by order by)的用法,请写出使用over (partition by order by) 来实现我的要求的SQL语句。
      

  14.   

    SQL> select * from testaa;EMPLO          SALARY
    ---------- ----------
    1                2000
    2                2000
    1                4000
    1                4000
    2                3000
    2                4000
    2                5000
    1                30008 rows selectedSQL> select emplo,salary,row_number() over (partition by emplo order by salary desc nulls last) from testaa;EMPLO          SALARY ROW_NUMBER()OVER(PARTITIONBYEM
    ---------- ---------- ------------------------------
    1                4000                              1
    1                4000                              2
    1                3000                              3
    1                2000                              4
    2                5000                              1
    2                4000                              2
    2                3000                              3
    2                2000                              48 rows selectedSQL>
      

  15.   

    over (partition by emplo order by salary desc nulls last)?
    不明白,头一次见过,先收藏起来学习学习。
      

  16.   

    to jinjazz(近身剪(N-P攻略)) 
    这是在SQL SERVER2000下测试通过的吗?
      

  17.   

    select * from Table order by EMPLO asc,Salary desc
      

  18.   

    刚才没有看清,over (partition by order by) 来实现我的要求的SQL语句的不会。呵
      

  19.   

    to lzy6204(为了忘却的记忆)
    这个是PL/SQL的语法
    ^_^
      

  20.   

    >>这是在SQL SERVER2000下测试通过的吗?oracle8.1