zoukankan      html  css  js  c++  java
  • MySQL取上一条数据的某个字段值

    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 x=@lag;
    set @lag=col_name;
    RETURN x;
    END

    使用的时候需要在查询语句执行之后或者之前对@lag全局变量初始化
    如:
    SELECT
    t.*, lag (id)
    FROM
    tb_xwh_toll_gate t,
    (SELECT @lag := '') p

  • 相关阅读:
    [BZOJ1303][CQOI2009]中位数图
    [BZOJ1192][HNOI2006]鬼谷子的钱袋
    9.5题解
    9.3题解
    9.2题解
    9.1题解
    8.29题解
    8.28题解
    8.23<2>题解
    8.23<1>题解
  • 原文地址:https://www.cnblogs.com/YuanFan123/p/6951756.html
Copyright © 2011-2022 走看看