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

Sql 显示列的每个唯一值的日期范围(HIVE-QL查询),sql,datetime,max,hiveql,min,Sql,Datetime,Max,Hiveql,Min,我有一个这样的蜂箱表(只显示了数千行中的前5行): 我想为列的每个唯一度量显示日期范围。结果如下: 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

我有一个这样的蜂箱表(只显示了数千行中的前5行):

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

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; 
从timestamp>=MIN(timestamp)和timestamp的表中选择度量、timestamp
因此,查询将只返回度量的唯一名称以及这些唯一度量的最小和最大日期

你只是想要聚合吗

select metric, min(timestamp) min_timestamp, max(timestamp) max_timestamp
from mytable
group by metric
因此,查询将只返回度量的唯一名称以及这些唯一度量的最小和最大日期

你只是想要聚合吗

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

您的数据和结果似乎不匹配。例如,
2019-08-10 00:05:00
从何而来,对于度量
cpu\u mem
?@GMB有数千行,因此在我的示例中不会显示日期的最小值和最大值。但这些是我想查询的。您的数据和结果似乎不匹配。例如,
2019-08-10 00:05:00
从何而来,对于度量
cpu\u mem
?@GMB有数千行,因此在我的示例中不会显示日期的最小值和最大值。但这些是我想质疑的。是的,这很有效,谢谢。理想情况下,它会在另一列中显示一个数字作为范围。例如,min和max之间的天数。Nevermind我找到了datediff的范围。很好,再次感谢。@controlnetic:just
datediff(max(timestamp),min(timestamp))
是的,谢谢。理想情况下,它会在另一列中显示一个数字作为范围。例如,min和max之间的天数。Nevermind我找到了datediff的范围。很好,再次感谢。@controlnetic:just
datediff(max(timestamp),min(timestamp))