gpt4 book ai didi

mysql - 选择彼此相差超过一秒的行MYSQL

转载 作者:行者123 更新时间:2023-11-29 16:41:15 25 4
gpt4 key购买 nike

这是我的表中的 View ,其中我仅选择了日期时间和 ID。我正在寻找一个查询,该查询仅显示不在 5 个 ID 范围内的记录。或者彼此相差一秒以上。

---------------------+--------+
| DateTime | id |
+---------------------+--------+
| 2018-06-02 16:10:13 | 61863 |
| 2018-06-03 14:04:13 | 63715 |
| 2018-06-03 17:34:28 | 64339 |
| 2018-06-04 14:20:55 | 67227 |
| 2018-06-04 14:20:56 | 67228 |
| 2018-06-04 15:39:47 | 67845 |
| 2018-06-04 17:07:12 | 68085 |
| 2018-06-04 17:07:13 | 68086 |
| 2018-06-04 17:51:11 | 68197 |
| 2018-06-04 17:51:12 | 68199 |
| 2018-06-05 05:22:59 | 68518 |
| 2018-06-05 05:23:00 | 68519 |
| 2018-06-07 10:28:28 | 74568 |
| 2018-06-07 16:18:36 | 76386 |

所以我的表格看起来像这样:

---------------------+--------+
| DateTime | id |
+---------------------+--------+
| 2018-06-02 16:10:13 | 61863 |
| 2018-06-03 14:04:13 | 63715 |
| 2018-06-03 17:34:28 | 64339 |
| 2018-06-04 14:20:55 | 67227 |
| 2018-06-04 15:39:47 | 67845 |
| 2018-06-04 17:07:12 | 68085 |
| 2018-06-04 17:51:11 | 68197 |
| 2018-06-05 05:22:59 | 68518 |
| 2018-06-07 10:28:28 | 74568 |
| 2018-06-07 16:18:36 | 76386 |

查询中是否显示 2018-06-04 14:20:552018-06-04 14:20:56 并不重要。其余的也一样,只要是其中之一即可

我已经尝试过这个查询,但它仅在 ID 连续的情况下才有效

 SELECT t0.*, t1.id
FROM table t0
LEFT JOIN table t1
ON t0.id + 1 = t1.id
WHERE t1.id IS NULL;

最佳答案

您可以像这样使用NOT EXISTS:

SELECT *
FROM yourdata t
WHERE NOT EXISTS (
SELECT 1
FROM yourdata x
WHERE (x.DateTime > t.DateTime AND x.DateTime <= t.DateTime + INTERVAL 1 SECOND)
OR (x.id > t.id AND x.id <= t.id + 4)
)

具有相同日期时间或 ID 的行不计算在内。

关于mysql - 选择彼此相差超过一秒的行MYSQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53321976/

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