主頁 > 知識庫 > oracle求同比,環(huán)比函數(shù)(LAG與LEAD)的詳解

oracle求同比,環(huán)比函數(shù)(LAG與LEAD)的詳解

熱門標(biāo)簽:征服眼公司地圖標(biāo)注 美圖秀秀地圖標(biāo)注 百度地圖標(biāo)注素材 征服者火車站地圖標(biāo)注 阿爾巴尼亞地圖標(biāo)注app 開封智能外呼系統(tǒng)廠家 word地圖標(biāo)注方向 外呼線路外顯本地號碼 人工智能地圖標(biāo)注自己能做嗎

Lag和Lead函數(shù)可以在一次查詢中取出同一字段的前N行的數(shù)據(jù)和后N行的值。這種操作可以使用對相同表的表連接來實現(xiàn),不過使用LAG和LEAD有更高的效率。

復(fù)制代碼 代碼如下:

CREATE TABLE salaryByMonth
(
 employeeNo varchar2(20),
 yearMonth varchar2(6),
 salary number
) ;
insert into SALARYBYMONTH (EMPLOYEENO, YEARMONTH, SALARY)
values (1, '200805', 500);
insert into SALARYBYMONTH (EMPLOYEENO, YEARMONTH, SALARY)
values (1, '200802', 150);
insert into SALARYBYMONTH (EMPLOYEENO, YEARMONTH, SALARY)
values (1, '200803', 200);
insert into SALARYBYMONTH (EMPLOYEENO, YEARMONTH, SALARY)
values (1, '200804', 300);
insert into SALARYBYMONTH (EMPLOYEENO, YEARMONTH, SALARY)
values (1, '200708', 100);
commit;

SELECT EMPLOYEENO
      ,YEARMONTH
      ,SALARY
      ,MIN(SALARY) KEEP(DENSE_RANK FIRST ORDER BY YEARMONTH) OVER(PARTITION BY EMPLOYEENO) FIRST_SALARY -- 基比分析 salary/first_salary
      ,LAG(SALARY, 1, 0) OVER(PARTITION BY EMPLOYEENO ORDER BY YEARMONTH) AS PREV_SAL -- 環(huán)比分析,與上個月份進行比較
      ,LAG(SALARY, 12, 0) OVER(PARTITION BY EMPLOYEENO ORDER BY YEARMONTH) AS PREV_12_SAL -- 同比分析,與上個年度相同月份進行比較   
      ,SUM(SALARY) OVER(PARTITION BY EMPLOYEENO, SUBSTR(YEARMONTH, 1, 4) ORDER BY YEARMONTH RANGE UNBOUNDED PRECEDING) LJ --累計值
  FROM SALARYBYMONTH
 ORDER BY EMPLOYEENO
         ,YEARMONTH


標(biāo)簽:海北 淮南 六安 孝感 泰安 酒泉 葫蘆島 宜春

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《oracle求同比,環(huán)比函數(shù)(LAG與LEAD)的詳解》,本文關(guān)鍵詞  oracle,求,同比,環(huán)比,函數(shù),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《oracle求同比,環(huán)比函數(shù)(LAG與LEAD)的詳解》相關(guān)的同類信息!
  • 本頁收集關(guān)于oracle求同比,環(huán)比函數(shù)(LAG與LEAD)的詳解的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章