Oracle分析函式學習筆記2

2021-04-01 10:09:26 字數 2140 閱讀 8558

環境:windows 2000 server + oracle8.1.7 + sql*plus

目的:以oracle自帶的scott模式為測試環境,主要通過試驗體會分析函式的用法。

2.rank()、dense_rank() 的使用

原表資訊:

sql> break on deptno skip 1  -- 為效果更明顯,把不同部門的資料隔段顯示。

sql> select deptno,ename,sal

2  from emp

3  order by deptno,sal desc;

deptno ename             sal

---------- ---------- ----------

10 king             5000

clark            2450

miller           1300

20 scott            3000

ford             3000

jones            2975

adams            1100

**ith             800

30 blake            2850

allen            1600

turner           1500

ward             1250

martin           1250

james             950

已選擇14行。

使用rank()查出各部門薪水前三名的員工姓名、薪水。

sql> select * from (

2  select deptno,rank() over(partition by deptno order by sal desc) rk,ename,sal

3  from emp

4  )

5  where rk<=3

6  /

deptno         rk ename             sal

---------- ---------- ---------- ----------

10          1 king             5000

2 clark            2450

3 miller           1300

20          1 scott            3000

1 ford             3000

3 jones            2975

30          1 blake            2850

2 allen            1600

3 turner           1500

已選擇9行。

使用dense_rank()查出各部門薪水前三名的員工姓名、薪水。

sql> select * from (

2  select deptno,dense_rank() over(partition by deptno order by sal desc) drk,ename,sal

3  from emp

4  )

5  where drk<=3

6  /

deptno        drk ename             sal

---------- ---------- ---------- ----------

10          1 king             5000

2 clark            2450

3 miller           1300

20          1 scott            3000

1 ford             3000

2 jones            2975

3 adams            1100

30          1 blake            2850

2 allen            1600

3 turner           1500

已選擇10行。

oracle 分析函式2

rank,dense rank,row number row number 12345 row number函式返回一個唯一的值,當碰到相同資料時,排名按照記錄集中記錄的順序依次遞增。dense rank 12223 dense rank函式返回一個唯一的值,除非當碰到相同資料時,此時所有相同資料的...

oracle統計函式學習

資料庫準備 create table emp deptno int not null,ename varchar 100 default null,sal int default null insert into emp values 10,king 5000 insert into emp val...

隨機函式學習筆記

在c語言中 來自rand 函式產生一個隨機數 0到 0x7fff 之間 原型為int rand void srand 函式和 rand函式配合使用,產生隨機數的起始發生資料原型為 void srand unsigned seed 兩者對應的標頭檔案均為 stdlib.h stdlib.h中有如下定義...

struct typedef函式學習筆記

struct 可以看成是一個自定義的資料型別 可以定義結構體型別所對應的變數 注 1.只要是操作字串 必須要用字串的方法 比如如果想改變字串裡的內容 不能使用直接 的方式賦值 還是用 strcpy 2.struct自定義型別可以直接傳值,陣列不可以.e.g.struct students stu4 ...

C 函式學習筆記

system.diagnostics.debug.writeline 資訊 輸出 system.diagnostics.debug.assert false,資訊 斷言 一 一維 int numbers new int 不定長 int numbers new int 3 定長 二 多維 int nu...