十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
LEAD 是一种分析函数,它提供了对表多行的访问,而无需进行自我连接。给定从查询返回的一些列行和光标的位置,LEAD 提供超出该位置的物理偏移量的行的访问。

LEAD { (value_expr [,offset [,default]]) [RESPECT|IGNORE] NULLS 
|(value_expr [RESPECT|IGNORE] NULLS [,offset [,default]]) }
OVER([query_partition_clause] order_by_clause)| 参数 | 说明 | 
|---|---|
| OVER | 使用  | 
| offset | 是 value_expr 的可选参数偏移量。 | 
| default | 如果未指定默认值,则其默认值为  | 
| {RESPECT | IGNORE} NULLS | 表示是否忽略  | 
| value_expr | 是要做比对的字段。您不能使用  | 
注意
LEAD函数后必须跟 order_by_clause ,query_partition_clause 是可选的。
返回的数据类型不限。
创建 emp_msg 表,并向列中插入数据。执行以下语句:
CREATE TABLE emp_msg(deptno INT, ename VARCHAR(30),sal INT);
INSERT INTO emp_msg VALUES(20,'ADAMS',1400);
INSERT INTO emp_msg VALUES(30,'ALLEN',1900);
INSERT INTO emp_msg VALUES(30,'BLAKE',3135);
INSERT INTO emp_msg VALUES(10,'CLARK',2750);
INSERT INTO emp_msg VALUES(20,'FORD',3300);
INSERT INTO emp_msg VALUES(30,'JAMES',1250);
INSERT INTO emp_msg VALUES(20,'JONES',3275);
INSERT INTO emp_msg VALUES(10,'KING',5300);
INSERT INTO emp_msg VALUES(30,'MARTIN',1550);
INSERT INTO emp_msg VALUES(10,'MILLER',1600);
INSERT INTO emp_msg VALUES(20,'SCOTT',3300);
INSERT INTO emp_msg VALUES(20,'SWITH',1100);
INSERT INTO emp_msg VALUES(30,'TURNER',1800);
INSERT INTO emp_msg VALUES(30,'WARD',1550);查询 emp_msg 表,最后 5 个值用 Jane 代替,从倒数第 6 个值开始追加按 ename 列升序排列的值。
SELECT  deptno, ename, sal, LEAD(ename,5,'Jane') OVER (ORDER BY ename) AS new_ename 
FROM emp_msg;查询结果如下:
+--------+--------+------+-----------+
| DEPTNO | ENAME  | SAL  | NEW_ENAME |
+--------+--------+------+-----------+
|     20 | ADAMS  | 1400 | JAMES     |
|     30 | ALLEN  | 1900 | JONES     |
|     30 | BLAKE  | 3135 | KING      |
|     10 | CLARK  | 2750 | MARTIN    |
|     20 | FORD   | 3300 | MILLER    |
|     30 | JAMES  | 1250 | SCOTT     |
|     20 | JONES  | 3275 | SWITH     |
|     10 | KING   | 5300 | TURNER    |
|     30 | MARTIN | 1550 | WARD      |
|     10 | MILLER | 1600 | Jane      |
|     20 | SCOTT  | 3300 | Jane      |
|     20 | SWITH  | 1100 | Jane      |
|     30 | TURNER | 1800 | Jane      |
|     30 | WARD   | 1550 | Jane      |
+--------+--------+------+-----------+