select tbexamineegrade.*,
row_number() over(partition by userid,TpID order by exscore desc) lev
--------------------------------------------------
:查询员工的工资,按部门排序
select ename,sal,row_number() over (partition by deptno order by sal desc) as sal_order from scott.emp;
执行结果:
ENAME SAL SAL_ORDER
-------------------- ---------- ----------
KING 5000 1
CLARK 2450 2
MILLER 1300 3
SCOTT 3000 1
FORD 3000 2
JONES 2975 3
ADAMS 1100 4
SMITH 800 5
BLAKE 2850 1
ALLEN 1600 2
TURNER 1500 3
WARD 1250 4
MARTIN 1250 5
JAMES 950 6
----------------------------------------------------------
按部门进行分组 然后再每组内部进行排序 就是对整个结果集而言的
row_number() over(partition by userid,TpID order by exscore desc) lev
--------------------------------------------------
:查询员工的工资,按部门排序
select ename,sal,row_number() over (partition by deptno order by sal desc) as sal_order from scott.emp;
执行结果:
ENAME SAL SAL_ORDER
-------------------- ---------- ----------
KING 5000 1
CLARK 2450 2
MILLER 1300 3
SCOTT 3000 1
FORD 3000 2
JONES 2975 3
ADAMS 1100 4
SMITH 800 5
BLAKE 2850 1
ALLEN 1600 2
TURNER 1500 3
WARD 1250 4
MARTIN 1250 5
JAMES 950 6
----------------------------------------------------------
按部门进行分组 然后再每组内部进行排序 就是对整个结果集而言的
SQL窗口函数实战
本文介绍了一个使用SQL窗口函数的具体案例,展示了如何通过row_number()函数按部门对员工工资进行排序,以便更好地理解员工薪资在各自部门中的相对位置。

3052

被折叠的 条评论
为什么被折叠?



