国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > Oracle > 正文

oracle求同比,環比函數(LAG與LEAD)的詳解

2020-07-26 14:25:47
字體:
來源:轉載
供稿:網友

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

復制代碼 代碼如下:

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 -- 環比分析,與上個月份進行比較
      ,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


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 洪洞县| 三原县| 买车| 海口市| 灵宝市| 鹿邑县| 开封县| 布尔津县| 应用必备| 蚌埠市| 竹溪县| 兴城市| 桐庐县| 嘉定区| 博野县| 呼和浩特市| 大连市| 大港区| 景洪市| 松滋市| 达孜县| 延庆县| 周口市| 清流县| 香格里拉县| 海口市| 监利县| 泰和县| 临泉县| 祥云县| 周至县| 云阳县| 象山县| 南充市| 樟树市| 茂名市| 华容县| 滨州市| 五指山市| 汝南县| 桐柏县|