成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

如何用Oracle實現組織結構中的匯總統計

運維 數據庫運維 數據庫
匯總統計是數據處理中常見的一個操作,如何在Oracle中實現這一常見操作,本文將給大家提供一種切實可行的方法。

對于一般的數據模型來說,一般是有一個事實表,若干個維度表,通過事實表與維度表的連接,實現不同層次的查詢匯總。

問題是對于組織結構而言,一般所有的數據都存貯于一個表中,而且,組織結構的層次也是動態的。那么,在這種情況下,如何實現員工工資的匯總呢?一個比較有趣的問題是: 如何統計員工及其所有被管理員工的總工資,舉個例子,CEO的總工資就是整個公司總有員工的總工資之和,包括他自己。

Oracle 引入了一個擴展的運算符,專門用來處理此種情形,它就是connect_by_root。當以connect_by_root修飾一個列名時,Oracle將返回根節點對應的此列的值。例如,當start with 為 last_name = ‘King’時,這時返回的所有行的connect_by_root last_name的值都將為’King’。這時,對所有行的累計就是對’King’的數據的累計了。當不指定start with 子句時,Oracle將對每個節點依次進行遍歷,于是,我們可以對返回的結果對last_name進行一次group by,那么我們就得到了所有last_name對應的匯總工資了。

下面是Oracle 文檔中的例子。


The following example returns the last name of each employee in department 110, each manager
above that employee in the hierarchy, the number of levels between manager and employee, 
and the path between the two: 

SELECT last_name "Employee", CONNECT_BY_ROOT last_name "Manager",
   LEVEL-1 "Pathlen", SYS_CONNECT_BY_PATH(last_name, '/') "Path"
   FROM employees
   WHERE LEVEL > 1 and department_id = 110
   CONNECT BY PRIOR employee_id = manager_id
   ORDER BY "Employee", "Manager", "Pathlen", "Path";

Employee        Manager            Pathlen Path
--------------- --------------- ---------- ------------------------------
Gietz           Higgins                  1 /Higgins/Gietz
Gietz           King                     3 /King/Kochhar/Higgins/Gietz
Gietz           Kochhar                  2 /Kochhar/Higgins/Gietz
Higgins         King                     2 /King/Kochhar/Higgins
Higgins         Kochhar                  1 /Kochhar/HigginsThe following example uses a GROUP BY clause to return the total salary of each employee in department 110 and all employees below that employee in the hierarchy:

SELECT name, SUM(salary) "Total_Salary" FROM (
   SELECT CONNECT_BY_ROOT last_name as name, Salary
      FROM employees
      WHERE department_id = 110
      CONNECT BY PRIOR employee_id = manager_id)
      GROUP BY name
   ORDER BY name, "Total_Salary";

NAME                      Total_Salary
------------------------- ------------
Gietz                             8300
Higgins                          20300
King                             20300
Kochhar                          20300

【編輯推薦】

  1. Oracle應用開發中的幾個經典問題
  2. Oracle數據空間的使用、監控和維護
  3. Oracle數據庫管理腳本淺析
責任編輯:彭凡 來源: OS Oracle
相關推薦

2011-08-30 17:33:10

OracleSAS宏

2011-07-13 14:02:42

OracleExcel

2021-08-08 22:08:41

Redis開發網頁

2011-03-02 15:35:15

Oracle分組統計

2023-12-05 07:26:21

Golang項目結構

2010-04-15 13:10:09

Oracle系統結構

2010-04-20 14:06:56

Oracle SQL語

2011-07-22 13:22:10

Java.NETDataTable

2010-05-10 14:16:50

Oracle樹結構

2009-03-26 09:24:36

Oracle外鍵數據庫

2025-02-04 09:58:08

2011-07-05 08:56:43

JavaScript

2011-03-15 14:26:23

iptablesNAT

2011-03-15 09:10:47

iptablesNAT

2022-12-05 16:38:48

Python統計信息預測模型

2019-08-01 15:08:37

PythonLine操作系統

2011-07-18 14:00:29

RailsOracle

2010-04-16 11:03:02

Oracle存儲過程

2011-10-13 09:44:49

MySQL

2011-05-30 10:36:49

MySQL
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 最新日韩av | 黄色一级免费看 | 午夜大片 | 美女黄网 | 9久久婷婷国产综合精品性色 | 日本视频在线 | 午夜精品视频在线观看 | 免费黄色网址视频 | 国产一级免费视频 | 精品91久久久 | 欧美亚洲综合久久 | 日韩欧美在线一区 | 色婷婷综合成人av | 婷婷综合色 | 黑人久久久 | 一级片在线免费播放 | 午夜国产在线 | 国产片侵犯亲女视频播放 | 一区二区三区高清不卡 | 在线观看涩涩视频 | 日韩精品一区二区三区在线播放 | 日本a∨精品中文字幕在线 亚洲91视频 | 日韩视频91| 久久亚洲一区二区三区四区 | 九九看片| 成人午夜免费视频 | 日韩精品一区二区三区在线播放 | 欧美a级成人淫片免费看 | 国产午夜久久久 | 欧美一级大片免费看 | 久久精品91 | 亚洲a在线观看 | 成人三级在线观看 | 午夜成人免费视频 | 超碰成人免费观看 | 亚洲欧美一区二区三区视频 | aaa国产大片 | 亚洲免费网| 色欧美片视频在线观看 | 午夜欧美一区二区三区在线播放 | 欧美一区二区免费视频 |