我是 hive 和 sql 的新手。
如果我们今天使用计数字段运行查询,那么它应该获取过去 7 天的数据(例如,如果我在星期一使用计数字段运行查询,那么我应该获取上周星期一到星期日的总计数)和日期在我的表中的格式是 20150910
。 ( yyyyMMdd
)。
请帮助我解决这个问题。
最佳答案
在这种情况下,您可以使用 date_sub()。像这样的东西应该工作......
select * from table
where date_field >= date_sub(current_date, 7)
假设当天的数据还没有加载。如果您也想排除当天的数据,则必须将其也包含在过滤条件中
and date_field <= date_sub(current_date, 1)
如果您的配置单元版本 > 0.12 ,则 current_date 会起作用
否则,您可以使用
to_date(from_unixtime(unix_timestamp()))
从 unix 中显式提取日期关于sql - 在 hive 中返回上周的数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32504039/