本文共 1311 字,大约阅读时间需要 4 分钟。
? Oracle SQL ??LAG ? LEAD ?????????????????????????LAG?Lagging???????????? LEAD?Leading????????????????????????????????????????????????????
??????? LAG ? LEAD ????????
SELECT deptno, sal, ename, lead(ename, 1, 'lead_ename') OVER (PARTITION BY deptno ORDER BY sal) lead_ename, lag(ename, 1, 'lag_ename') OVER (PARTITION BY deptno ORDER BY sal) lag_enameFROM emp;
???? SQL ?????????
| DEPTNO | SAL | ENAME | LEAD_ENAME | LAG_ENAME |
|---|---|---|---|---|
| 10 | 1300 | MILLER | CLARK | lag_ename |
| 10 | 2450 | CLARK | KING | MILLER |
| 10 | 5000 | KING | lead_ename CLARK | CLARK |
| 20 | 800 | SMITH | JONES | lag_ename |
| 20 | 2975 | JONES | FORD | SMITH |
| 20 | 3000 | FORD | lead_ename JONES | JONES |
| 30 | 950 | JAMES | WARD | lag_ename |
| 30 | 1250 | WARD | MARTIN | JAMES |
| 30 | 1250 | MARTIN | TURNER | WARD |
| 30 | 1500 | TURNER | ALLEN | MARTIN |
| 30 | 1600 | ALLEN | BLAKE | TURNER |
| 30 | 2850 | BLAKE | lead_ename ALLEN | ALLEN |
LEAD ???LEAD(ename, 1, 'lead_ename') ???? ename ??????????????1 ?????????????'lead_ename' ??????????????????LAG ???LAG(ename, 1, 'lag_ename') ???? ename ??????????????1 ?????????????'lag_ename' ??????????????????PARTITION BY deptno ??????????? deptno ??????ORDER BY sal ??????????????????? sal ????PARTITION BY ? ORDER BY????????????????????LEAD ? LAG ??? SQL ?????????????????????????????????????????????????????????????????
转载地址:http://olpfk.baihongyu.com/