检查“ Hive”列中重复数字或字符的计数

时间:2018-11-16 10:46:08

标签: python pandas hive hql

我在蜂巢中有一列数字。我想对那些重复数字的行进行计数,这对于字符列也是一种情况。

例如-Example column

输出应为6。

我尝试使用蜂巢的反向功能,但它也给出回文数。 我尝试过的示例代码-

select sum(case when Number = reverse(Number) then 1 else 0 end) as counts
from table
where Number is not null

2 个答案:

答案 0 :(得分:0)

您似乎想知道所有数字是否出现2的倍数。

一种相当痛苦的方法是:

select t.*
from t
where ( length(number) - length(replace(number, '0', '')) ) % 2 = 0 and
      ( length(number) - length(replace(number, '1', '')) ) % 2 = 0 and
      . . .
      ( length(number) - length(replace(number, '9', '')) ) % 2 = 0

答案 1 :(得分:0)

select count(distinct Number) as dist_numbers
from table
where trim(number) rlike ^0+$|^1+$|^2+$|^3+$|^4+$|^5+$|^6+$|^7+$|^8+$|^9+$;

这是一个临时但麻烦的方法。