Hive QL 检索最大值

Hive QL retrieve max value

我正在尝试使用 Hive QL 从数据库中检索数据。我有 2 列 start_time 具有开始时间和 time_stamp 记录了从 'Start_time'

开始完成的每项工作
JOB         start_time              work_done             time_stamp
-------------------------------------------------------------------------
JOB_A     2021/12/29 11:00:00       work_A            2021/12/29 11:00:00
JOB_A     2021/12/29 11:00:00       work_A            2021/12/29 11:20:00
JOB_A     2021/12/29 11:00:00       work_B            2021/12/29 11:45:00
JOB_B     2021/12/29 11:00:00       work_A            2021/12/29 12:00:00
JOB_B     2021/12/29 11:00:00       work_A            2021/12/29 12:15:00
JOB_B     2021/12/29 11:00:00       work_B            2021/12/29 12:30:00

我想要的是JOB_A的start_time和JOB_A和JOB_B结束的time_stamp

JOB         start_time                     time_stamp
------------------------------------------------------------
JOB_A     2021/12/29 11:00:00            2021/12/29 11:45:00
JOB_B     2021/12/29 11:00:00            2021/12/29 12:30:00

我尝试使用

select 
JOB,
start_time,
max(time_stamp)
from table_1

我仍然得到与我的输出table相同的结果

select c.JOB, max(c.time_stamp) 来自 test1229 c join (select * from test1229) d on d.JOB = c.JOB where c.time_stamp > d.time_stamp group by c.JOB

您必须在 select

中添加分组依据子句
select 
JOB,
start_time,
max(time_stamp)
from table_1
group by JOB, start_time

通过这种方式,您可以从记录中为每对不同的 JOB/Start_time 获取最大值(time_stamp)。

请记住,如果 JOB_A 将再次从另一个 start_time 开始,将会有第二行 JOB_A 及其各自的新 start_time 和 time_stamp 值。