gpt4 book ai didi

mysql - 统计相同id记录的出现时间

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

有人能解答我这个问题吗?假设我有一个包含多条记录的表,如下所示:

+--------------+--+
| ID room time | |
+--------------+--+
| 1 1 10:00 | |
| 2 2 10:01 | |
| 3 1 10:01 | |
| 4 1 10:02 | |
| 5 1 10:03 | |
| 6 1 10:04 | |
| 7 2 10:02 | |
+--------------+--+

我想仅在房间1连续时才获取房间1的时间计数。这个特定表的结果应该是:

+--------------+
| id room time |
+--------------+
| 1 1 00:03 |
+--------------+

提前致谢。

最佳答案

您可以将表与自身连接起来以实现此目的:

假设表的名称是 tbl。 我的查询不会 100% 正确,因为我不知道您的时间数据类型是什么,但概念就在那里

A表的ID必须小于B表的ID,但具有相同的房间。

C 表表示记录,检查 A 和 B 之间没有不同房间的 ID,这就是为什么 C.ID 为 NULL

SELECT A.ROOM, MAX(B.TIME-A.TIME) FROM tbl A
INNER JOIN tbl B on A.room=B.room and A.ID<B.ID
LEFT OUTER JOIN tbl C on A.room<>B.room and A.ID<C.ID and C.ID<B.ID
WHERE C.ID IS NULL
GROUP BY a.room

关于mysql - 统计相同id记录的出现时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49214550/

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