row_number() over(partition by的用法
row_number() OVER (PARTITION BY COL1 ORDER BY COL2) 表示根據COL1分組,在分組內部根據 COL2排序,而此函數計算的值就表示每組內部排序后的順序編號(組內連續的唯一的)
?
查詢員工的工資,按部門排序
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
轉載于:https://www.cnblogs.com/Junqiang/p/5531835.html
總結
以上是生活随笔為你收集整理的row_number() over(partition by的用法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: lldb调试使用python脚本问题总结
- 下一篇: BaseControl按钮合集