使用分析單

2021-04-24 20:59:50 字數 4154 閱讀 2122

分析函式計算基於行組的值,並可以用來實現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中,為考慮最差情況,取所...