gpt4 book ai didi

mysql - 通过使用子日期获取前一天在自定义列中计算

转载 作者:行者123 更新时间:2023-11-29 05:01:19 25 4
gpt4 key购买 nike

我想在 mysql 中使用 subdate 方法,但我无法得到我想要的...

考虑我有下表:

表:

id    created_at    value
1 2019-03-19 50
2 2016-03-20 100
3 2016-03-21 87

我想创建一个显示 3 列的 View ,并添加一个自定义项,该自定义项基本上是当前值与前一天的值之间的差异。

在这个例子中,我的 View 输出应该是:

id    created_at    value    diff
1 2019-03-19 50 0
2 2016-03-20 100 50
3 2016-03-21 87 -13

谢谢你的帮助

最佳答案

在MySQL 8.0中,可以使用lag():

select 
t.*,
coalesce(value - lag(value) over(order by created at), 0) diff
from mytable t

在早期版本中,您可以自连接表并使用带有相关子查询的不存在条件来获取以前的记录:

select
t.*,
coalesce(t.value - t1.value, 0) diff
from mytable t
left join mytable t1
on t1.created_at < t.created_at
and not exists(
select 1
from mytable t2
where t2.created_at < t.created_at and t2.created_at > t1.created_at
)

关于mysql - 通过使用子日期获取前一天在自定义列中计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58768414/

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