gpt4 book ai didi

MySQL:减去不同 ID 的时间戳

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

假设我有一张表,其中包含 ID、时间戳和事件。

例如:我有一本书的 ID 为 1,另一本书的 ID 为 2。这两本书都是在特定时间戳借出的,在表中由事件 1 标记。

然后两者都随事件 2 返回。那么我怎样才能找到每本书的借阅期限呢?我找不到答案,我快疯了!

ID   |   Timestamp   |   Event
-------------------------------
a1 | 2013-10-23 | 1
a2 | 2013-10-23 | 1
a1 | 2013-10-25 | 2
a2 | 2013-10-26 | 2

结果

ID   |   Days lent   |
-----------------------
a1 | 2 |
a2 | 3 |
<小时/>

抱歉,我没有更好的解释。我尝试的每个子查询都会导致“多行”错误。

我在子查询中尝试了 TIMESTAMPDIFF,我尝试减去两个查询。当然有很多不同的 ID,但结构与发布的完全相同

最佳答案

SELECT 
s.id,
DATEDIFF(e.timestamp, s.timestamp) AS Days_lent
FROM
schedule AS s -- start
JOIN
schedule AS e -- end
ON s.id = e.id
AND s.timestamp < e.timestamp
WHERE
s.event = 1
AND
e.event = 2 ;

测试: SQL-Fiddle

关于MySQL:减去不同 ID 的时间戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17052878/

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