gpt4 book ai didi

sql - AWS Athena - 查询特定时间段

转载 作者:行者123 更新时间:2023-12-04 09:36:38 24 4
gpt4 key购买 nike

我有一个数据,它有两个基于时间的列 - 日期、小时(存在其他列)。我的目标是读取特定时间段的数据。
数据 :

date         hour
22-06-20 0
22-06-20 1
.. ..
23-06-20 23
宗旨 :读取 22-06-20 第 4 小时到 23-06-20 第 4 小时之间的数据。
我的查询是:
select date, hour from mytable where
date >= date("22-06-20")
and hour >= 4;
以上将为我提供从 22-06-20 第 4 小时到 23-06-20 第 23 小时的数据。但是如何在 23-06-20 的第 4 小时停止它。
我在上面展示了一个硬编码示例,但是我正在尝试实时进行,因为我的表每小时更新一次。
select date, hour from mytable  where
date >= date(current_timestamp - interval '25' hour)
and hour >= hour(current_timestamp - interval '25' hour)
为什么我做 -25 小时是我想要过去 24 小时的数据,不包括最后一个小时,即现在是 23-06-20 的第 10 小时。我想要从 22-06-20 9th 到 23-06-20 9th 的数据。尝试解决上述查询也应该帮助我做到这一点。

最佳答案

假设您的日期确实是一个时间戳:

where date >= timestamp '2020-06-20 04:00:00' and
date < timestamp '2020-06-23 04:00:00'
编辑:
原来如此。它们位于两个不同的列中。所以你可以这样做:
where (date = '2020-06-20' and hour >= 4) or
(date > '2020-06-20' and date < '2020-06-23') or
(date = '2020-06-23' and hour < 4)

关于sql - AWS Athena - 查询特定时间段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62551234/

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