我现在有一张表: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 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语句。
Order by EMPLO asc,Salary Desc
select * from table order by f1 ,f2 desc
应该可以满足要求吧
SELECT * FROM Table ORDER BY EMPLO ASC,SALARY DESC
各位老大,请看清楚题目: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语句。
---------- ----------
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>
不明白,头一次见过,先收藏起来学习学习。
这是在SQL SERVER2000下测试通过的吗?
这个是PL/SQL的语法
^_^