gpt4 book ai didi

sql - 如何使用 'safe window' 为基于时间的元素创建 MySQL 查询?

转载 作者:行者123 更新时间:2023-11-30 23:41:02 24 4
gpt4 key购买 nike

我不是 SQL 专家,远非如此。我正在编写一个 Rails 应用程序,我也是新手。我有桌面编程背景。

我的应用程序有一个数据表,其中一列是记录数据的时间。我想在每一行周围创建一个带有“安全窗口”的查询。我的意思是,它返回第一行,然后在 X 分钟内(基于时间记录的列)它不会返回任何数据,一旦 X 分钟结束,它将返回下一行。

例如:

ID | TimeLogged
1 | 3/5/2010 12:01:01
2 | 3/5/2010 12:01:50
3 | 3/5/2010 12:02:03
4 | 3/5/2010 12:10:30
5 | 3/5/2010 01:30:03
6 | 3/5/2010 01:31:05

有了 5 分钟的“安全窗口”,我想创建一个查询以返回:

1  | 3/5/2010 12:01:01
4 | 3/5/2010 12:10:30
5 | 3/5/2010 01:30:03

(它跳过了 12:01:50 和 12:02:03 项目,因为它们发生在第一个项目的 5 分钟内。)

另一个例子,我想返回 15 分钟的“安全窗口”:

1  | 3/5/2010 12:01:01
5 | 3/5/2010 01:30:03

也许我必须返回所有数据并自己解析?

最佳答案

可以在已呈现为十五分钟切片的列上使用 GROUP BY,但这并不能为您提供对此实例所需的精确控制。您所能期望的最好的结果是将它们分类到单独的十五分钟桶中,但这并不能保证两次之间有十五分钟的间隔。事实上,它们更有可能靠得更近,因为 11:59:59 和 12:00:01 将被视为两个不同的时间间隔。

基本上您只能使用更手动的方法,因为我不知道有任何 MySQL 操作可以满足您的要求。

如果您需要多次执行此操作,您可能希望在确定指定时间后标记数据库中的特定记录。

关于sql - 如何使用 'safe window' 为基于时间的元素创建 MySQL 查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3045664/

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