gpt4 book ai didi

sql - 记录之间的时间差

转载 作者:行者123 更新时间:2023-12-04 17:13:10 26 4
gpt4 key购买 nike

我有一个表(其中包括)一个时间戳列(名为时间戳;它是标准的 Oracle DATE 数据类型)。记录相隔大约 4-11 分钟,每小时大约有 7 或 8 条记录,我正在尝试确定它们是否存在任何模式。

有没有一种简单的方法可以查看每条记录,以及该记录发生在上一条记录之后的分钟数?

谢谢,
安迪丹

最佳答案

这是 Oracle 9i+,使用 LAG function无需自连接即可获取先前的时间戳值:

SELECT t.timestamp - LAG(t.timestamp) OVER (ORDER BY t.timestamp) AS diff
FROM YOUR_TABLE t

...但由于整数代表结果中的天数,小于 24 小时的差异将是一小部分。此外,如果没有更早的值,LAG 将返回 NULL - 就像使用了 OUTER JOIN 一样。

要查看分钟,请使用 ROUND 函数:
SELECT ROUND((t.timestamp - LAG(t.timestamp) OVER (ORDER BY t.timestamp)) *1440) AS diff_in_minutes
FROM YOUR_TABLE t

关于sql - 记录之间的时间差,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4308620/

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