Oracle 分析函式練習例項

2021-10-08 04:50:31 字數 3669 閱讀 4100

create

table emp(

deptno varchar2(20)

, empno varchar2(20)

, ename varchar(20

),sal number

);

–顯示各部門員工的工資,並附帶顯示該部分的最高工資。

select e.deptno,

e.empno,

e.ename,

e.sal,

last_value(e.sal)

over

(partition

by e.deptno

order

by e.sal rows

--unbounded preceding and unbouned following針對當前所有記錄的前一條、後一條記錄,也就是表中的所有記錄

--unbounded:不受控制的,無限的

--preceding:在...之前

--following:在...之後

–按照deptno分組,然後計算每組值的總和

–對各部門進行分組,並附帶顯示第一行至當前行的彙總

–當前行至最後一行的彙總

select empno,

ename,

deptno,

sal,

--注意rows between current row and unbounded following 指當前行到最後一行的彙總

–當前行的上一行(rownum-1)到當前行的彙總

select empno,

ename,

deptno,

sal,

--注意rows between 1 preceding and current row 是指當前行的上一行(rownum-1)到當前行的彙總

–當前行的上一行(rownum-1)到當前行的下兩行(rownum+2)的彙總

select empno,

ename,

deptno,

sal,

--注意rows between 1 preceding and 1 following 是指當前行的上一行(rownum-1)到當前行的下輛行(rownum+2)的彙總

–練習取最後乙個值

–練習使用first_value()

分析函式例項

具體的分析函式的語法和函式列表見 資料準備 以oracle樣例的sh模式為實驗資料 建立實驗資料表 sales fact create table sales fact as select country name country,country subregion region,prod name...

oracle啟動例項分析

1 nomout階段,該階段啟動的前提是有引數檔案,若沒有引數檔案,系統無法啟動,在該過程中,系統分配記憶體 開啟後台程序,同時更新alter日誌檔案 例項nomount之前的狀態 無例項程序 oracle secdb1 admin echo oracle sid prod oracle secdb...

oracle分析函式

oracle分析函式 sql plus環境 1 group by子句 create test table and insert test data.create table students id number 15,0 area varchar2 10 stu type varchar2 2 sc...