窗口分析函数_1_生成不重复排名序号
生活随笔
收集整理的這篇文章主要介紹了
窗口分析函数_1_生成不重复排名序号
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
? ? ? ? ? ? ? ? ? ? ? ? ? ?生成自增序號
需求描述
需求:將EMP表里的員工按照DEPTNO和SAL字段排序并生成序號.
解決方法:通過ROW_NUMBER OVER()或則@rownum函數來完成.
注: 數據庫數據集SQL腳本詳見如下鏈接地址
員工表結構和數據初始化SQL腳本
SQL代碼
-- SQL Server、Oracle、Mysql 8.0 SELECT deptno,sal,ROW_NUMBER()OVER(PARTITION BY DEPTNO ORDER BY SAL) AS RANK_DeptSal FROM EMP;執行結果
延展閱讀
-- Mysql: select heyf_tmp.deptno,heyf_tmp.empno,heyf_tmp.sal,@rownum := @rownum+1 AS rn , if(@pdept= heyf_tmp.deptno,@rank:=@rank +1, @rank:= 1) as rank, @pdept:=heyf_tmp.deptno as pre_deptno from ( select A.deptno,A.sal,A.empno from emp AORDER BY deptno,sal ) heyf_tmp ,(select @rownum :=0 , @pdept := null ,@rank := 0) a總結
以上是生活随笔為你收集整理的窗口分析函数_1_生成不重复排名序号的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 重汽豪沃四驱越野房车能拖多重的东西?
- 下一篇: 货车后车视像连接线头尺寸是多大的?