Hive计数分区以防万一

时间:2016-10-05 06:48:46

标签: hive hiveql

我有两个问题:

select count(*) over (partition by col1) from t1

select case when count(*) over (partition by col1) >1 then 1 else 0 end from t1

第一个工作正常。然而第二个引发了一个错误:

Invalid column reference 'count': (possible column names are: <all columns in t1>)

*中添加任何列名而不是count会产生相同的行为。

导致问题的原因是什么?我没有在case whenover partition by的dosc中找到任何限制。

1 个答案:

答案 0 :(得分:0)

试试这个:

select COUNT(CASE WHEN >1 THEN 1 ELSE 0 END) over (partition by col1) from t1;