gpt4 book ai didi

hive - 获取 Hive 中最近 7 天的记录

转载 作者:行者123 更新时间:2023-12-02 03:35:31 27 4
gpt4 key购买 nike

我在 hive 中有一个表,如下所示。我想从此表中选择 insertdatecustomer_id,其中 insertdatecurrent_date - 7 天

原始表格

+------------------------+--------------+
| insertdate | customer_id |
+------------------------+--------------+
| 2018-04-21 04:00:00.0 | 39550695 |
| 2018-04-22 04:00:00.0 | 38841612 |
| 2018-04-23 03:59:00.0 | 23100419 |
| 2018-04-24 03:58:00.0 | 39550688 |
| 2018-04-25 03:58:00.0 | 39550691 |
| 2018-05-12 03:57:00.0 | 39550685 |
| 2018-05-13 03:57:00.0 | 39550687 |
| 2018-05-14 03:57:00.0 | 39550677 |
| 2018-05-14 03:56:00.0 | 30254216 |
| 2018-05-14 03:56:00.0 | 39550668 |
+------------------------+--------------+

预期结果

+------------------------+--------------+
| insertdate | customer_id |
+------------------------+--------------+
| 2018-05-12 03:57:00.0 | 39550685 |
| 2018-05-13 03:57:00.0 | 39550687 |
| 2018-05-14 03:57:00.0 | 39550677 |
| 2018-05-14 03:56:00.0 | 30254216 |
| 2018-05-14 03:56:00.0 | 39550668 |
+------------------------+--------------+

但是当我尝试以下操作时,我得到空结果

select insert_date, customer_id from table where insert_date = date_sub(current_date, 7);

select insert_date, customer_id from table whereinsert_date = date_sub(FROM_UNIXTIME(UNIX_TIMESTAMP(),'yyyy-MM-dd'), 7);

对于上述两个查询,我都得到了空结果。

我在这里做错了什么以及如何获得正确的结果?

最佳答案

假设您需要过去 7 天的数据,请使用

select insert_date, customer_id 
from table
where to_date(insert_date) >= date_sub(current_date, 7)
and to_date(insert_date) < current_date

您的查询未显示结果的原因是日期时间格式与日期之间的比较。

关于hive - 获取 Hive 中最近 7 天的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50356717/

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