Oracle中over 函式的使用

2021-08-31 05:32:17 字數 1251 閱讀 7414

oracle中over() 函式用法  ,將自己的研究結果記錄一下。

個人理解:over() 函式 是對 分析函式的一種條件解釋,直接點就是 給分析函式加條件吧。

例如:sql

select deptno,ename,sal,sum(sal) over(partition by deptno) from emp

deptno,ename,sal,sum(sal) over(partition by deptno)

1 8 塗平 4000.00 27000

2 8 塗飛平 5000.00 27000

3 8 tuping 4000.00 27000

4 8 tuping  4000.00 27000

5 8 塗飛平 3000.00 27000

6 8 塗平 4000.00 27000

7 8 ganggang 3000.00 27000

8 32 wuweiling 2000.00 6000

9 32 wuweiling 2000.00 6000

10 32 吳蔚玲 2000.00 6000

注意最後一列,他首先是將所有的部門按編號分類,分類以後,將所有部門號相同的sal進行累加,然後顯示在於該部門號對應的記錄後面,例如27000是所有8號部門的工資總和,那麼在所有8號部門的該列都是27000

sqlselect deptno,ename,sal,sum(sal) over(order by ename)from emp

1 8 ganggang 3000.00 3000

2 8 tuping  4000.00 7000

3 32 wuweiling 2000.00 11000

4 32 wuweiling 2000.00 11000

5 32 吳蔚玲 2000.00 13000

6 8 塗小3平 5000.00 21000

7 8 塗小3平 3000.00 21000

8 8 塗平 4000.00 29000

9 8 塗平 4000.00 29000

最後一列顯示的是按名字進行排序,進行工資累積求和,名字相同人的工資,首先相加,然後再和上一名字人的工資相加。

例如:ganggang --3000

tuping --4000

加起來等於7000

兩個wuweiling 是2000+2000=4000 然後和7000相加=11000,然後顯示在wuweiling該行。

oracle中over 函式用法

oracle分析函式是如此的強大,其中over 函式的用法又尤為的特別,所以將自己的研究結果記錄一下。個人理解 over 函式 是對 分析函式的一種條件解釋,直接點就是 給分析函式加條件吧。在網上看見比較常用的就是 與 sum rank 函式使用。接下來就用分析下兩種函式結合over的用法。以下測試...

Oracle中Over函式使用

個人理解 over 函式 是對 分析函式的一種條件解釋,直接點就是 給分析函式加條件吧。在網上看見比較常用的就是 與 sum rank 函式使用。接下來就用分析下兩種函式結合over的用法。以下測試使用的orace預設的 scott使用者下的emp表資料。1.sum 結合over sql selec...

oracle中over 函式用法

在泡罈子的時候中無意中發現了這個函式,才知道oracle分析函式是如此的強大,其中over 函式的用法又尤為的特別,所以將自己的研究結果記錄一下。個人理解 over 函式 是對 分析函式的一種條件解釋,直接點就是 給分析函式加條件吧。在網上看見比較常用的就是 與 sum rank 函式使用。接下來就...