gpt4 book ai didi

mysql - 减去当前行的下一个并将该输出作为当前行的数据

转载 作者:太空宇宙 更新时间:2023-11-03 10:35:26 25 4
gpt4 key购买 nike

计算公里跑是基于此

当前值 = 下一个值 - 当前值

我有一张看起来像这样的表格。

enter image description here

我的问题是如何根据里程表值计算 kmr?我将替换kmr值的kmr列的值

最佳答案

您可以使用变量来存储最后的值。

create table tbl (code varchar(10), vdate date, kmr int);
insert into tbl values
('Person1', '20180101', 71883),
('Person1', '20180102', 71893),
('Person1', '20180103', 71903),
('Person2', '20180101', 71800),
('Person2', '20180102', 71815),
('Person2', '20180103', 71820);
select code, vdate, kmr, current_kmr
from
(
select t1.code, t1.vdate, t1.kmr,
t1.kmr - if(coalesce(@last_code, t1.code) = t1.code, coalesce(@last_kmr, t1.kmr), t1.kmr) as current_kmr,
@last_kmr := t1.kmr,
@last_code := t1.code
from tbl t1,
(select @last_kmr := null, @last_code := null) t2
order by t1.code, t1.vdate
) t
code    | vdate      |   kmr | current_kmr:------ | :--------- | ----: | ----------:Person1 | 2018-01-01 | 71883 |           0Person1 | 2018-01-02 | 71893 |          10Person1 | 2018-01-03 | 71903 |          10Person2 | 2018-01-01 | 71800 |           0Person2 | 2018-01-02 | 71815 |          15Person2 | 2018-01-03 | 71820 |           5

dbfiddle here

关于mysql - 减去当前行的下一个并将该输出作为当前行的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49444985/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com