gpt4 book ai didi

PHP SQL 找出轮值访问之间的差距

转载 作者:行者123 更新时间:2023-11-30 23:03:38 25 4
gpt4 key购买 nike

我在编写这段代码时遇到了一个小问题。我有一个返回类次日期列表的 MySQL 查询。返回的数据如下所示:

id |    date    |  stime   |  etime   | staff | client
------------------------------------------------------
1 | 2014-01-01 | 08:00:00 | 08:30:00 | Dave | Mary
2 | 2014-01-01 | 08:35:00 | 09:05:00 | Dave | Clive
3 | 2014-01-01 | 09:17:00 | 09:32:00 | Dave | Joan
4 | 2014-01-01 | 09:38:00 | 10:08:00 | Dave | Doris

我需要算出通话之间的间隔。 IE。第 1 行的 etime 和第 2 行的 stime 之间的差距。答案应该是 5。我可以使用 PHP 轻松计算出差异,但无法计算出如何获得:第 1 行的 etime,第 2 行的 stime,然后是第 2 行的 etime 和第 行的 stime 3 etc......等等......我猜是某种交替函数,但不知道。

我确实需要指出 id 不会不连续。

我是这个网站的新手,环顾四周,看看是否有人问过这个问题。如果有,我深表歉意。感谢任何可以提供帮助的人。

编辑:@sean 已经为我回答了这个问题,除了 id 结果必须是连续的。我需要了解如何使用非连续 id

执行 LEFT JOIN

最佳答案

使用 LEFT JOIN 连接下一行 stime。确保重命名 t2.stime,这样它就不会产生歧义。

SELECT t1.*, 
t2.stime as `nxt_row_stime`
FROM table t1
LEFT JOIN table t2
ON t2.id = t1.id+1

注意:这要求 id 增量没有间隙。

关于PHP SQL 找出轮值访问之间的差距,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22795639/

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