1. 程式人生 > >MySQL取上一條數據的某個字段值

MySQL取上一條數據的某個字段值

arch oracle ble led ora 定義 declare 自定義 default

SELECT
@lagfield ,@lagfiled := targField,
t.*
FROM
TABLE t,
(SELECT @lagfield := ‘‘) r
其中targField是你想要在下一行呈現的字段,根據字段是字符還是數字,最後的select 應該不同,
如果是數字,則應該(select @lagfield:=0) r

創建自定義函數
CREATE FUNCTION lag(col_name VARCHAR(255))
RETURNS VARCHAR(255)
BEGIN
DECLARE x VARCHAR(255) DEFAULT ‘‘;
SET x= col_name;
RETURN x;
END

MySQL自定義oracle的lag函數
create function lag(col_name VARCHAR(255))
BEGIN
declare x varchar(255) default ‘‘;
set [email protected];
set @lag=col_name;
RETURN x;
END

[email protected]ag全局變量初始化
如:
SELECT
t.*, lag (id)
FROM
tb_xwh_toll_gate t,
(SELECT @lag := ‘‘) p

MySQL取上一條數據的某個字段值