0
如何在Oracle函數中檢查最近3年的特定字段中值是否增加。假設一張表是公司,如果公司過去3年的利潤增長,我們只想考慮價值。通過檢查增量值創建Oracle函數
如何在Oracle函數中檢查最近3年的特定字段中值是否增加。假設一張表是公司,如果公司過去3年的利潤增長,我們只想考慮價值。通過檢查增量值創建Oracle函數
SELECT empno, sal,
LEAD(sal, 1, 0) OVER (PARTITION BY dept ORDER BY id) NEXT_SAL,
CASE WHEN sal <= LEAD(sal, 1, MAX(SAL)) OVER (PARTITION BY dept ORDER BY sal)
THEN 'OK'
ELSE 'NOT OK'
END STATUS
FROM emp
ORDER BY deptno, sal DESC;
在這裏,如果你得到所有狀態「OK」,那麼價值是遞增順序,否則 有一定的減量。
LEAD能夠計算下一行(將在當前行後面出現的行)的表達式並將該值返回給當前行。 LEAD的一般語法如下:
LEAD(sql_expr,膠印,默認值)OVER(analytic_clause)