分析函式計算基於行組的值,並可以用來實現rownum偽列表述的結果;
sql**
selectename ,sal,row_number() over(order
bysaldesc)assal_orderfromemp;
select ename ,sal,row_number() over(order by sal desc) as sal_order from emp;
結果:
sql**
ename sal sal_order
---------- ---------- ----------
king 5000 1
scott 3000 2
ford 3000 3
jones 2975 4
blake 2850 5
clark 2450 6
allen 1600 7
turner 1500 8
miller 1300 9
ward 1250 10
martin 1250 11
adams 1100 12
james 950 13
smith 800 14
ename sal sal_order
---------- ---------- ----------
king 5000 1
scott 3000 2
ford 3000 3
jones 2975 4
blake 2850 5
clark 2450 6
allen 1600 7
turner 1500 8
miller 1300 9
ward 1250 10
martin 1250 11
adams 1100 12
james 950 13
smith 800 14
在sql語句中,可以在行的順序集上獲得行號。肥西函式知道在非配行號之前使用order by 從句。
sql**
selectdeptno ename ,sal,row_number() over(partitionbydeptnoorder
bysaldesc)assal_orderfromemp;
select deptno ename ,sal,row_number() over(partition by deptno order by sal desc) as sal_order from emp;
結果:
sql**
ename sal sal_order
----- ---------- ----------
10 5000 1
10 2450 2
10 1300 3
20 3000 1
20 3000 2
20 2975 3
20 1100 4
20 800 5
30 2850 1
30 1600 2
30 1500 3
30 1250 4
30 1250 5
30 950 6
ename sal sal_order
---------- ---------- ----------
10 5000 1
10 2450 2
10 1300 3
20 3000 1
20 3000 2
20 2975 3
20 1100 4
20 800 5
30 2850 1
30 1600 2
30 1500 3
30 1250 4
30 1250 5
30 950 6
row_number ()分析函式可以僅為行的單獨順序集分配行號碼,也可以在結果集內部使用它。
sql**
selectdeptno ,ename, rownum ,salfrom(selectdeptno, ename ,sal, row_number() over(partitionbydeptnoorder
bysaldesc)assal_orderfromemp)wheresal_order<2
select deptno ,ename, rownum ,sal from (select deptno, ename ,sal, row_number() over(partition by deptno order by sal desc) as sal_order from emp)where sal_order<2
結果:sql**
deptno ename rownum sal
------ ---------- ---------- ----------
10 king 1 5000
20 scott 2 3000
30 blake 3 2850
單鏈表反轉分析
第一次交換 第二次交換 第三次交換 步驟 定義當前結點 current,初始值為首元結點,current l next 定義當前結點的後繼結點 pnext,pnext current next 只要 pnext 存在,就執行以下迴圈 最後將頭結點與 current 重新連上即可,l next cur...
as view加單分析
可以看到as view是調的父類 從父類中又調了dispatch 因為繼承了apiview,當self.dispatch 調的就是apiview中的方法 在dispatch中把引數與請求放入了self中,這個self就是上上圖中的book,這也是為什麼截圖的原因,因為有的同學對繼承還不是很了解,看原...
靜態時序分析 單週期
建立時間的檢查是指檢查電路裡每乙個觸發器的資料和時鐘的關係是否滿足建立時間的要求。我們以上圖為例進行建立時間檢查。由圖可知,我們主要針對第二個觸發器uff1進行檢查。我們可以梳理時序關係如下 通過這個圖,我們可以得到滿足建立時間需要達成以下目標 注意,在setup check中,為考慮最差情況,取所...