gpt4 book ai didi

php - 从mysql数据库中的两个不同行中减去值

转载 作者:行者123 更新时间:2023-11-29 00:01:37 24 4
gpt4 key购买 nike

我有一个包含三列的表,一列用于 id,其余包含时间戳值:

id  |  start_date  |  end_date

我想进行一个查询,返回两个相邻事件之间的差异。到目前为止,我写了 sql 查询:

SELECT start_date, end_date FROM table ORDER BY begin_date asc

现在我不知道如何获得不同行之间的差异,例如:

我有三行:

1  |  1428443952  |  1428444010
2 | 1428443952 | 1428443973
3 | 1428443952 | 1428443975

我想做一个查询,返回

之间的区别
(start_date of id2) - (end_date of id1)
(start_date of id3) - (end_date of id2)
etc.

这可能吗?

最佳答案

是的,使用连接:

select t.start_date - tprev.end_date 
from table t join
table tprev
on t.id = tprev.id + 1;

编辑:

以上是最有效的方法,但它假定 ID 是有序的(如问题所建议的)。另一种方法是:

select (t.start_date -
(select tprev.end_date
from table tprev
where tprev.end_date < t.start_date
order by tprev.end_date
limit 1
)
) as diff
from table t
having diff is not null;

关于php - 从mysql数据库中的两个不同行中减去值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29526451/

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