Hive 对分区进行计数,以防万一

问题描述 投票:0回答:1

我有两个疑问:

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
会产生相同的行为。

问题产生的原因是什么?我在 dosc 中没有发现

case when
over partition by
在一起有任何限制。

hive hiveql
1个回答
0
投票

试试这个:

select COUNT(CASE WHEN >1 THEN 1 ELSE 0 END) over (partition by col1) from t1;
© www.soinside.com 2019 - 2024. All rights reserved.