Hive 获取每个值在配置单元查询中的第一次外观

Hive 获取每个值在配置单元查询中的第一次外观,hive,Hive,我有一个事件表,每一行都有: event-id (primary key) user-id item-id day 所以,有可能在不同的日子出现相同的(项目id),但我需要获得每个(项目id)出现的第一天,并统计这一天发生的所有事件 比如说 event-id user-id item-id day 1 pp a 2015/05/01 2 df a 2015/05/01 3

我有一个事件表,每一行都有:

event-id (primary key)
user-id
item-id
day
所以,有可能在不同的日子出现相同的(项目id),但我需要获得每个(项目id)出现的第一天,并统计这一天发生的所有事件

比如说

event-id  user-id   item-id    day
   1          pp      a        2015/05/01
   2          df      a        2015/05/01
   3          pp      b        2015/05/02
   3          al      a        2015/05/02
我希望得到以下结果:

day          item-id     count
2015/05/01     a           2
2015/05/02     b           1
我正在使用此查询:

SELECT 
  min(day) as day,
  item_id,
  count (event_id) as count
FROM 
  events
GROUP BY
  day,
  item_id;
但它不能正常工作

这里有一种方法:

SELECT e.*
FROM (SELECT day, item_id, count(*) as cnt,
             MIN(day) OVER (PARTITION BY item_id) as minday      
      FROM events
      GROUP BY day, item_id
     ) e
WHERE day = minday;

MIN(day)将日期作为字符串进行比较,例如2015-05-10小于2015-05-5@Dafne . . . 您的日期格式似乎是YYYY/MM/DD,因此这不是问题。