微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

显示列的每个唯一值的日期范围HIVE-QL查询

如何解决显示列的每个唯一值的日期范围HIVE-QL查询

我有一个这样的HIVE表(仅显示千行中的前5行):

date          metric          timestamp          value
2020-06-18    cpu_mem     2020-08-15 00:05:00      10
2020-10-18    cpu_mem     2020-08-15 00:10:00      15
2020-22-18    gpu_mem     2020-08-15 00:15:00      12
2020-26-18    cpu_mem     2020-08-15 00:20:00      10
2020-29-18    threads     2020-08-15 00:25:00      05

我想显示列的每个唯一指标的日期范围。结果如下:

unique_metrics      date_range(min/max)
cpu_mem             2019-08-10 00:05:00 - 2020-02-15 00:05:00
gpu_mem             2020-08-15 00:05:00 - 2020-09-10 00:15:00
threads             2018-06-09 00:05:00 - 2020-08-15 00:06:00

我只是显示日期的最小和最大示例。因此,查询将仅返回指标的唯一名称以及这些唯一指标的日期的最小值和最大值。

类似的东西:

SELECT metric,timestamp FROM table WHERE timestamp >= MIN(timestamp) AND timestamp <= MAX(timestamp) GROUP BY metric; 

但是显然那是不对的,因为我不想在给定范围之间进行选择,我只想知道每个唯一指标的范围。

解决方法

因此,查询将仅返回指标的唯一名称以及这些唯一指标的日期的最小值和最大值。

您只想聚合吗?

select metric,min(timestamp) min_timestamp,max(timestamp) max_timestamp
from mytable
group by metric

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。