查询数据
SELECT
a.`STORE_ID` AS id,
a.`STORE_NAME` AS NAME,
a.`DEPOSIT` AS curr,
@a.DEPOSIT AS pre, //上一条记录的deposit值
@a.DEPOSIT:= a.DEPOSIT AS tmp
FROM stock_store_addinfo a,(SELECT @a.DEPOSIT:=0)s
- @a.DEPOSIT:=a.DEPOSIT AS tmp 将a.DEPOSIT值赋到临时临时变量 @a.DEPOSIT
- SELECT @a.DEPOSIT:=0 选择当前表,上一条记录 a.DEPOSIT,默认值为0
实现差值
SELECT
b.id,
b.NAME,
b.curr,
b.pre,
(b.curr - b.pre) AS diff
FROM
(
SELECT
a.`STORE_ID` AS id,
a.`STORE_NAME` AS NAME,
a.`DEPOSIT` AS curr,
@a.DEPOSIT AS pre,
@a.DEPOSIT:= a.DEPOSIT
FROM stock_store_addinfo a,(SELECT @a.DEPOSIT:=0)r
)b
本文介绍了一种使用MySQL来计算连续记录之间差值的方法。通过定义一个用户变量来保存上一条记录的DEPOSIT值,并在查询中计算当前记录与上一条记录的差值。这种方法适用于需要对时间序列数据进行差分分析的场景。
1万+

被折叠的 条评论
为什么被折叠?



