hive 如何找到特定列的第一个IN和最后一个OUT?

daupos2t  于 2023-10-18  发布在  Hive
关注(0)|答案(1)|浏览(212)

我有一个有列事件的表。它有像IN和OUT这样的数据。
现在我需要创建两个列,其中第一个IN的时间用于特定ID,最后一个OUT的时间用于同一ID。
我需要使用分区窗口功能与领先和滞后。
我该怎么做?
任何帮助将是伟大的!
我必须在Hive里做这个!

yzckvree

yzckvree1#

我假设你也有一些日期列(让我们称之为dt)。
要获取所有ID的第一个IN和最后一个OUT,您需要执行以下操作:

  1. select
  2. id,
  3. min(case when event='IN' then dt end) first_in,
  4. max(case when event='OUT' then dt end) last_out
  5. from table
  6. group by id

相关问题