【发布时间】:2020-12-30 10:17:19
【问题描述】:
我有一个这样的 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;
但显然这是不对的,因为我不想在给定范围之间进行选择,我只想知道每个唯一指标的范围是多少。
【问题讨论】:
-
您的数据和结果似乎不匹配。例如,
2019-08-10 00:05:00来自哪里的指标cpu_mem? -
@GMB 有数千行,因此我的示例中不会显示日期的最小值和最大值。但这些都是我想查询的。
标签: sql datetime max hiveql min