gpt4 book ai didi

sql - 获取最新数据到周期时间戳

转载 作者:行者123 更新时间:2023-11-29 14:22:18 25 4
gpt4 key购买 nike

编辑

我意识到我的问题实际上有两个部分:

One of the answers第二个问题使用 Postgres 的 SELECT DISTINCT ON ,这意味着我根本不需要一个组。我在下面发布了我的解决方案。

我有一些数据,通常会查询这些数据以获得最新值。但是,我需要能够重现如果我每分钟查询一次就会收到什么结果,回到某个时间戳。

我真的不知道从哪里开始。我对 SQL 的经验很少。

CREATE TABLE history
(
detected timestamp with time zone NOT NULL,
stat integer NOT NULL
)

我选择喜欢:

SELECT
detected,
stat

FROM history

WHERE
detected > '2013-11-26 20:19:58+00'::timestamp

显然,这给了我自给定时间戳以来的所有结果。我希望每个 stat 最接近从现在到时间戳的分钟数。我所说的最接近是指“小于”。

抱歉,我没有尽力接近答案。我对 SQL 非常陌生,不知道从哪里开始。

编辑

这个问题,How to group time by hour or by 10 minutes , 似乎有帮助:

SELECT timeslot, MAX(detected)
FROM
(
SELECT to_char(detected, 'YYYY-MM-DD hh24:MI') timeslot, detected
FROM
(
SELECT detected
FROM history
where
detected > '2013-11-28 13:09:58+00'::timestamp
) as foo
) as foo GROUP BY timeslot

这会以一分钟的间隔为我提供最近的检测到的时间戳。

如何获取statMAX 对按分钟分组的所有 detected 运行,但无法访问 stat

第二次编辑

我有:

timeslot;max
"2013-11-28 14:04";"2013-11-28 14:04:05+00"
"2013-11-28 14:17";"2013-11-28 14:17:22+00"
"2013-11-28 14:16";"2013-11-28 14:16:40+00"
"2013-11-28 14:13";"2013-11-28 14:13:31+00"
"2013-11-28 14:10";"2013-11-28 14:10:02+00"
"2013-11-28 14:09";"2013-11-28 14:09:51+00"

我愿意:

detected;stat
"2013-11-28 14:04:05+00";123
"2013-11-28 14:17:22+00";125
"2013-11-28 14:16:40+00";121
"2013-11-28 14:13:31+00";118
"2013-11-28 14:10:02+00";119
"2013-11-28 14:09:51+00";121

maxdetected 是一样的

最佳答案

我可以为您提供这个解决方案:

with t (tstamp, stat) as(
values
( current_timestamp, 'stat1'),
( current_timestamp - interval '50' second, 'stat2'),
( current_timestamp - interval '100' second, 'stat3'),
( current_timestamp - interval '150' second, 'stat4'),
( current_timestamp - interval '200' second, 'stat5'),
( current_timestamp - interval '250' second, 'stat6')
)
select stat, tstamp
from t
where tstamp in (
select max(tstamp)
from t
group by date_trunc('minute', tstamp)
);

但它在 Oracle 中......也许它对你有帮助

关于sql - 获取最新数据到周期时间戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20246210/

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