程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> DB2數據庫 >> DB2教程 >> DB2中OLAP函數的示例分析(1)

DB2中OLAP函數的示例分析(1)

編輯:DB2教程

在線分析處理函數OLAP)是DB2中擴展了關系模型、使關系模型能夠理解行集合內的排序方式的重要函數之一,本文將為您詳細分析OLAP函數,並附相關實例,供您參考,希望對您有所幫助。

排列函數:第一類引入到 DB2 中的 OLAP 函數是 排列ranking)函數,它們是在 DB2 Version 6 中引入的。這些排列函數提供了定義一個集合使用 PARTITION 子句),然後根據某種排序方式對這個集合內的元素進行排列的能力。例如,假設我們有一個雇員表,現在要對每個部門內的雇員薪水進行排列。要實現這一點,我們需要一個函數調用,這個函數調用可以完成以下工作:

將分區集合)定義為各個部門,將集合內的排序方式定義為按薪水排序。 按照慣例,我們一般會將薪水高的排在前面,所以我們將指定一個對薪水的降序排序方式。下面的例子展示了這個查詢的查詢和輸出。
select empnum, dept, salary, rank() over (partition by dept order by salary desc nulls last) as rank, dense_rank() over (partition by dept order by salary desc nulls last)as denserank, row_number() over (partition by dept order by salary desc nulls last)as rownumber from emptab;

EMPNUM DEPT SALARY RANK DENSERANK ROWNUMBER
------ ---- ------ ---- --------- ---------
6 1 78000 1 1 1
2 1 75000 2 2 2
7 1 75000 2 2 3
11 1 53000 4 3 4
5 1 52000 5 4 5
1 1 50000 6 5 6
--------------------------------------------------
9 2 51000 1 1 1
4 2 - 2 2 2


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved